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 相关文章推荐
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
Dec 29 Javascript
解析页面加载与js函数的执行 onload or ready
Dec 12 Javascript
setInterval与clearInterval的使用示例代码
Jan 28 Javascript
详解Javascript 装载和执行
Nov 17 Javascript
Javascript页面跳转常见实现方式汇总
Nov 28 Javascript
JS中的进制转换以及作用
Jun 26 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
Oct 29 Javascript
ASP.NET jquery ajax传递参数的实例
Nov 02 Javascript
vue-router实现webApp切换页面动画效果代码
May 25 Javascript
js实现车辆管理系统
Aug 26 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
Sep 29 Javascript
Vue如何实现验证码输入交互
Dec 07 Vue.js
单元选择合并变色示例代码
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与XML的PDF文档生成技术
2006/10/09 PHP
使用PHP遍历文件夹与子目录的函数代码
2011/09/26 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
自写的利用PDO对mysql数据库增删改查操作类
2018/02/19 PHP
php获取用户真实IP和防刷机制的实例代码
2018/11/28 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
javascript实现无缝上下滚动特效
2015/12/16 Javascript
jQuery实现的仿百度,仿谷歌搜索下拉框效果示例
2016/12/30 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
2017/08/23 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
2017/11/06 Javascript
elementUI select组件value值注意事项详解
2019/05/29 Javascript
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
简单说明Python中的装饰器的用法
2015/04/24 Python
Anaconda之conda常用命令介绍(安装、更新、删除)
2019/10/06 Python
使用python实现哈希表、字典、集合操作
2019/12/22 Python
如何用python 操作zookeeper
2020/12/28 Python
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
医生实习工作总结的自我评价
2013/09/27 职场文书
2014年寒假社会实践活动心得体会
2014/04/07 职场文书
电子商务专业毕业生求职信
2014/06/12 职场文书
农村党员学习党的群众路线教育实践活动心得体会
2014/11/04 职场文书
紧急通知
2015/04/17 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
使用Docker容器部署rocketmq单机的全过程
2022/04/03 Servers
SQL Server中的逻辑函数介绍
2022/05/25 SQL Server
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript