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 相关文章推荐
JavaScript 检测浏览器和操作系统的脚本
Dec 26 Javascript
js 绑定带参数的事件以及手动触发事件
Apr 27 Javascript
jquery 动态创建元素的方式介绍及应用
Apr 21 Javascript
用JS在浏览器中创建下载文件
Mar 05 Javascript
JS本地刷新返回上一页代码
Jul 25 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
Feb 15 Javascript
用js将long型数据转换成date型或datetime型的实例
Jul 03 Javascript
SVG动画vivus.js库使用小结(实例代码)
Sep 14 Javascript
基于react后端渲染模板引擎noox发布使用
Jan 11 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
May 16 Javascript
vue发送ajax请求详解
Oct 09 Javascript
mapboxgl实现带箭头轨迹线的代码
Jan 04 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
如何使用FireFox插件FirePHP调试PHP
2013/07/23 PHP
PHP Cookei记录用户历史浏览信息的代码
2016/02/03 PHP
基于laravel where的高级使用方法
2019/10/10 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
js 与或运算符 || && 妙用
2009/12/09 Javascript
js中格式化日期时间型数据函数代码
2010/11/08 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
利用vue.js插入dom节点的方法
2017/03/15 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
nodemon实现Typescript项目热更新的示例代码
2019/11/19 Javascript
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
在Python中使用dict和set方法的教程
2015/04/27 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
Python实现全排列的打印
2018/08/18 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
2019/04/11 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
python 错误处理 assert详解
2020/04/20 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
英国电气世界:Electrical World
2019/09/08 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
乡镇干部先进事迹材料
2014/02/03 职场文书
晚会开幕词
2015/01/28 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
Django实现WebSocket在线聊天室功能(channels库)
2021/09/25 Python
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android