js函数参数设置默认值的一种变通实现方法


Posted in Javascript onMay 26, 2014

php有个很方便的用法是在定义函数时可以直接给参数设默认值,如:

function simue ($a=1,$b=2){ 
return $a+$b; 
} 
echo simue(); //输出3 
echo simue(10); //输出12 
echo simue(10,20); //输出30

但js却不能这么定义,如果写function simue(a=1,b=2){}会提示缺少对象。

js函数中有个储存参数的数组arguments ,所有函数获得的参数会被编译器挨个保存到这个数组中。于是我们的js版支持参数默认值的函数可以通过另外一种变通的方法实现,修改上例:

function simue (){ 
var a = arguments[0] ? arguments[0] : 1; 
var b = arguments[1] ? arguments[1] : 2; 
return a+b; 
} 
alert( simue() ); //输出3 
alert( simue(10) ); //输出12 
alert( simue(10,20) ); //输出30
Javascript 相关文章推荐
从JavaScript的函数重名看其初始化方式
Mar 08 Javascript
JS 自动安装exe程序
Nov 30 Javascript
javascript 读取xml,写入xml 实现代码
Jul 10 Javascript
js实现div拖动动画运行轨迹效果代码分享
Aug 27 Javascript
jQuery选择器及jquery案例详解(必看)
May 20 Javascript
vue插件tab选项卡使用小结
Oct 27 Javascript
JS实现HTML标签转义及反转义
Apr 14 Javascript
three.js实现3D视野缩放效果
Nov 16 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
Aug 10 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
May 06 Javascript
vue draggable resizable gorkys与v-chart使用与总结
Sep 05 Javascript
基于JavaScript实现简单扫雷游戏
Jan 02 Javascript
单元选择合并变色示例代码
May 26 #Javascript
jquery实现的一个文章自定义分段显示功能
May 23 #Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
May 23 #Javascript
ie 7/8不支持trim的属性的解决方案
May 23 #Javascript
JQuery 控制内容长度超出规定长度显示省略号
May 23 #Javascript
jquery重复提交请求的原因浅析
May 23 #Javascript
jquery仿搜索自动联想功能代码
May 23 #Javascript
You might like
使用PHP制作新闻系统的思路
2006/10/09 PHP
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
CentOS 上搭建 PHP7 开发测试环境
2017/02/26 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
javascript getElementsByClassName 和js取地址栏参数
2010/01/02 Javascript
Javascript实现视频轮播在pc端与移动端均可
2013/09/29 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
多种jQuery绑定事件的实现方式
2016/06/13 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
浅谈ajax在jquery中的请求和servlet中的响应
2018/01/22 jQuery
vue使用v-for实现hover点击效果
2018/09/29 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
JavaScript创建、读取和删除cookie
2019/09/03 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
Python入门之modf()方法的使用
2015/05/15 Python
改进Django中的表单的简单方法
2015/07/17 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
详解关于Django中ORM数据库迁移的配置
2018/10/08 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
python安装本地whl的实例步骤
2019/10/12 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
Python tkinter之Bind(绑定事件)的使用示例
2021/02/05 Python
2014年实验室工作总结
2014/12/03 职场文书
经理聘任证明
2015/03/02 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
结婚典礼致辞
2015/07/28 职场文书
PyQt5爬取12306车票信息程序的实现
2021/05/14 Python
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android