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 相关文章推荐
你所要知道JS(DHTML)中的一些技巧
Jan 09 Javascript
Javascript 更新 JavaScript 数组的 uniq 方法
Jan 23 Javascript
最近项目写了一些js,水平有待提高
Jan 31 Javascript
jQuery参数列表集合
Apr 06 Javascript
非常强大的 jQuery.AsyncBox 弹出对话框插件
Aug 29 Javascript
input 禁止输入特殊字符的四种实现方式
Aug 24 Javascript
JS实现移动端判断上拉和下滑功能
Aug 07 Javascript
AngularJS实时获取并显示密码的方法
Feb 06 Javascript
微信小程序实现自上而下字幕滚动
Jul 14 Javascript
vue-cli项目使用mock数据的方法(借助express)
Apr 15 Javascript
js DOM的事件常见操作实例详解
Dec 16 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
Jul 19 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 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
PHP学习笔记之二
2011/01/17 PHP
php实现webservice实例
2014/11/06 PHP
php实现压缩合并js的方法【附demo源码下载】
2016/09/22 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
Z-Blog中用到的js代码
2007/03/15 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
javascript的函数作用域
2014/11/12 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
用jmSlip编写移动端顶部日历选择控件
2016/10/24 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
JavaScript设计模式之命令模式实例分析
2019/01/16 Javascript
Vue组件通信的几种实现方法
2019/04/25 Javascript
JavaScript实现京东放大镜效果
2019/12/03 Javascript
一篇文章入门Python生态系统(Python新手入门指导)
2015/12/11 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
详解Python 调用C# dll库最简方法
2019/06/20 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
django配置app中的静态文件步骤
2020/03/27 Python
通过代码实例了解Python sys模块
2020/09/14 Python
GNC健安喜美国官网:美国第一营养品牌
2016/07/22 全球购物
幼儿教师演讲稿
2014/05/06 职场文书
士兵突击观后感
2015/06/16 职场文书
详解Python中__new__方法的作用
2022/03/31 Python
win11系统中dhcp服务异常什么意思? Win11 DHCP服务异常修复方法
2022/04/08 数码科技