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常用的正则表达式实例
May 15 Javascript
jQuery 获取兄弟元素的几种不错方法
May 23 Javascript
元素绑定click点击事件方法
Jun 08 Javascript
详解JavaScript UTC时间转换方法
Jan 07 Javascript
jQuery实现的无限级下拉菜单功能示例
Sep 12 Javascript
jQuery简单获取DIV和A标签元素位置的方法
Feb 07 Javascript
详解Vue用axios发送post请求自动set cookie
May 10 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
May 24 Javascript
Webpack 之 babel-loader文件预处理器详解
Mar 23 Javascript
基于jquery实现彩色投票进度条代码解析
Aug 26 jQuery
vue项目实现减少app.js和vender.js的体积操作
Nov 12 Javascript
微信小程序实现聊天室功能
Jun 14 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
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
JavaScript语言精粹经典实例(整理篇)
2016/06/07 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
你知道setTimeout是如何运行的吗?
2016/08/16 Javascript
微信小程序 地图(map)实例详解
2016/11/16 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
JS常用倒计时代码实例总结
2017/02/07 Javascript
angular十大常见问题
2017/03/07 Javascript
利用jQuery+localStorage实现一个简易的计时器示例代码
2017/12/25 jQuery
3种vue路由传参的基本模式
2018/02/22 Javascript
微信小程序定位当前城市的方法
2018/07/19 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
react中使用css的7中方式(最全总结)
2019/02/11 Javascript
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
python实现UDP协议下的文件传输
2020/03/20 Python
keras之权重初始化方式
2020/05/21 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
Shopee印度尼西亚:东南亚与台湾市场最大电商平台
2018/06/17 全球购物
采购部部长岗位职责
2014/02/06 职场文书
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
小学感恩节活动总结
2015/03/24 职场文书
高一化学教学反思
2016/02/22 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书
springboot 全局异常处理和统一响应对象的处理方式
2022/06/28 Java/Android