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 相关文章推荐
jQuery 自动增长的文本输入框实现代码
Apr 02 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
Feb 16 Javascript
Javascript和Java获取各种form表单信息的简单实例
Feb 14 Javascript
IE6已终止操作问题的2种情况及解决
Apr 23 Javascript
ext中store.load跟store.reload的区别示例介绍
Jun 17 Javascript
AngularJs  Understanding Angular Templates
Sep 02 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
Feb 05 Javascript
AngularJS学习第二篇 AngularJS依赖注入
Feb 13 Javascript
浅谈vue中慎用style的scoped属性
Nov 28 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
Dec 14 Javascript
JS设置自定义快捷键并实现图片上下左右移动
Oct 17 Javascript
关于AngularJS中几种Providers的区别总结
May 17 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 curl 抓取AJAX异步内容示例
2014/09/09 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
2017/08/11 PHP
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
javascript与webservice的通信实现代码
2010/12/25 Javascript
window.location.href中url中数据量太大时的解决方法
2013/12/23 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
浅谈JavaScript的内置对象和浏览器对象
2016/06/03 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
微信公众号菜单配置微信小程序实例详解
2017/03/31 Javascript
JavaScript插入排序算法原理与实现方法示例
2018/08/06 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
javascript异常处理实现原理详解
2020/02/17 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
[01:52]PWL S2开团时刻第四期——DOTA2成语故事
2020/12/03 DOTA
[51:06]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第二场 1月26日
2021/03/11 DOTA
Python SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
2014/05/06 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
tensorflow实现简单逻辑回归
2018/09/07 Python
python3 爬取图片的实例代码
2018/11/06 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
Python 解析简单的XML数据
2020/07/24 Python
Python类class参数self原理解析
2020/11/19 Python
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
高等教育学专业自荐书
2014/06/17 职场文书
售房协议书
2014/08/19 职场文书
捐助感谢信
2015/01/22 职场文书
终止劳动合同通知书
2015/04/16 职场文书
python实现Thrift服务端的方法
2021/04/20 Python
手写实现JS中的new
2021/11/07 Javascript