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滑出效果时闪烁的解决方法
Mar 27 Javascript
浅谈jquery事件处理
Apr 24 Javascript
JS实现网页每隔3秒弹出一次对话框的方法
Nov 09 Javascript
Javascript复制实例详解
Jan 28 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
May 12 Javascript
jQuery使用Layer弹出层插件闪退问题
Dec 22 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
Mar 27 Javascript
AjaxUpLoad.js实现文件上传
Mar 05 Javascript
手动用webpack搭建第一个ReactApp的示例
Apr 11 Javascript
Vue中的v-for循环key属性注意事项小结
Aug 12 Javascript
angular4中*ngFor不能对返回来的对象进行循环的解决方法
Sep 12 Javascript
详解Ant Design of React的安装和使用方法
Dec 27 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中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
php下拉选项的批量操作的实现代码
2013/10/14 PHP
PHP将进程作为守护进程的方法
2015/03/19 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
img的onload的另类用法
2008/01/10 Javascript
一些主流JS框架中DOMReady事件的实现小结
2011/02/12 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
查看大图功能代码jquery版
2013/11/05 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
详解js跨域原理以及2种解决方案
2015/12/09 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
JavaScript 动态三角函数实例详解
2017/01/08 Javascript
Vue computed计算属性的使用方法
2017/07/14 Javascript
Mac下安装vue
2018/04/11 Javascript
axios实现简单文件上传功能
2019/09/25 Javascript
Element MessageBox弹框的具体使用
2020/07/27 Javascript
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
Python实现确认字符串是否包含指定字符串的实例
2018/05/02 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
乌克兰巴士票购买网站:inBus
2021/03/12 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
如何通过jdbc调用存储过程
2012/04/19 面试题
群众路线党课主持词
2014/04/01 职场文书
第二课堂活动总结
2014/05/07 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
生日宴会家属答谢词
2015/09/29 职场文书