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 Callbacks完整功能代码详解
Nov 25 Javascript
javascript中拼接HTML字符串的最快、最好的方法
Jun 07 Javascript
javascript实现超炫的向上滑行菜单实例
Aug 03 Javascript
基于jQuery实现的打字机效果
Jan 16 Javascript
js实现楼层导航功能
Feb 23 Javascript
ES6中新增的Object.assign()方法详解
Sep 22 Javascript
深入浅析Vue中的Prop
Jun 10 Javascript
angularjs手动识别字符串中的换行符方法
Oct 02 Javascript
JQuery中queue方法用法示例
Jan 31 jQuery
node.js express框架简介与实现
Jul 23 Javascript
Vue中使用matomo进行访问流量统计的实现
Nov 05 Javascript
JS实现容器模块左右拖动效果
Jan 14 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
phpmyadmin MySQL 加密配置方法
2009/07/05 PHP
php牛逼的面试题分享
2013/01/18 PHP
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
php微信公众平台开发(一) 配置接口
2016/12/06 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
js中各种类型的变量在if条件中是true还是false
2014/07/16 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
JS基于设计模式中的单例模式(Singleton)实现封装对数据增删改查功能
2018/02/06 Javascript
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
AngularJS ui-router刷新子页面路由的方法
2018/07/23 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
基于vue写一个全局Message组件的实现
2019/08/15 Javascript
vue实例的选项总结
2020/06/09 Javascript
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
Django学习笔记之ORM基础教程
2018/03/27 Python
Python get获取页面cookie代码实例
2018/09/12 Python
基于python生成器封装的协程类
2019/03/20 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
几个MySql的面试题
2013/04/22 面试题
面试后的英文感谢信
2014/02/01 职场文书
圣诞节活动策划方案
2014/06/09 职场文书
学困生转化工作总结
2015/08/13 职场文书
学习师德师风的心得体会(2篇)
2019/10/08 职场文书
如何用JavaScipt测网速
2021/05/09 Javascript
80行代码写一个Webpack插件并发布到npm
2021/05/24 Javascript
浅谈Python数学建模之固定费用问题
2021/06/23 Python
详解Java实现数据结构之并查集
2021/06/23 Java/Android
MongoDB支持的数据类型
2022/04/11 MongoDB