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遍历 table的脚本
Jul 23 Javascript
xml 封装与解析(javascript和C#中)
Jul 26 Javascript
基于jquery的blockui插件显示弹出层
Apr 14 Javascript
javascript开发随笔二 动态加载js和文件
Nov 25 Javascript
Javascript Request获取请求参数如何实现
Nov 28 Javascript
Three.js源码阅读笔记(Object3D类)
Dec 27 Javascript
文档对象模型DOM通俗讲解
Nov 01 Javascript
JavaScript实现数字数组正序排列的方法
Apr 06 Javascript
JavaScript操作URL的相关内容集锦
Oct 29 Javascript
jquery遍历标签中自定义的属性方法
Sep 17 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
Apr 25 Javascript
微信小程序入门之绘制时钟
Oct 22 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 Try Catch异常测试
2009/03/01 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
学习面向对象之面向对象的基本概念:对象和其他基本要素
2010/11/30 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
Angular4编程之表单响应功能示例
2017/12/13 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
JavaScript制作3D旋转相册
2020/08/02 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
python实现合并两个数组的方法
2015/05/16 Python
Python抽象类的新写法
2015/06/18 Python
简单谈谈Python中的闭包
2016/11/30 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
Python笔记之facade模式
2019/11/20 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
python能自学吗
2020/06/18 Python
Python项目打包成二进制的方法
2020/12/30 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
电气个人求职信范文
2014/02/04 职场文书
体育课课后反思
2014/04/24 职场文书
世博会口号
2014/06/20 职场文书
小学语文教研活动总结
2014/07/01 职场文书
教师个人读书活动总结
2014/07/08 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
2016大一新生军训感言
2015/12/08 职场文书