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 相关文章推荐
jscript之List Excel Color Values
Jun 13 Javascript
jQuery 对Select的操作备忘记录
Jul 04 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
Jan 13 Javascript
jQuery 中$(this).index与$.each的使用指南
Nov 20 Javascript
jQuery实现设置、移除文本框默认值功能
Jan 13 Javascript
jQuery给动态添加的元素绑定事件的方法
Mar 09 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
Mar 16 Javascript
简单分析javascript中的函数
Sep 10 Javascript
js实现复选框的全选和取消全选效果
Jan 03 Javascript
原生JS实现图片懒加载(lazyload)实例
Jun 13 Javascript
js简易版购物车功能
Jun 17 Javascript
axios如何取消重复无用的请求详解
Dec 15 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 操作文件的一些FAQ总结
2009/02/12 PHP
php批量缩放图片的代码[ini参数控制]
2011/02/11 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
求得div 下 img的src地址的js代码
2007/02/28 Javascript
Dom与浏览器兼容性说明
2010/10/25 Javascript
我的NodeJs学习小结(一)
2014/07/06 NodeJs
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
通过实践编写优雅的JavaScript代码
2019/05/30 Javascript
layui数据表格实现重载数据表格功能(搜索功能)
2019/07/27 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
vant自定义二级菜单操作
2020/11/02 Javascript
[05:23]DOTA2-DPC中国联赛2月1日Recap集锦
2021/03/11 DOTA
python基本语法练习实例
2017/09/19 Python
Python3.7中安装openCV库的方法
2018/07/11 Python
python中reader的next用法
2018/07/24 Python
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
关于礼仪的演讲稿
2014/01/04 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
优秀员工演讲稿
2014/05/19 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
冰峪沟导游词
2015/02/09 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
python中sys模块的介绍与实例
2021/04/17 Python
一文弄懂MySQL中redo log与binlog的区别
2022/02/15 MySQL