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 相关文章推荐
用ASP将SQL搜索出来的内容导出为TXT的代码
Jul 27 Javascript
javascript:;与javascript:void(0)使用介绍
Jun 05 Javascript
JavaScript实现的多种鼠标拖放效果
Nov 03 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
Feb 17 Javascript
浅析JS中常用类型转换及运算符表达式
Jul 23 Javascript
关于redux-saga中take使用方法详解
Feb 27 Javascript
vue中如何实现pdf文件预览的方法
Jul 12 Javascript
Vuex 单状态库与多模块状态库详解
Dec 11 Javascript
微信小程序停止其他视频播放当前视频的实例代码
Dec 25 Javascript
9种方法优化jQuery代码详解
Feb 04 jQuery
一篇文章了解正则表达式的替换技巧
Feb 24 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(6) 面向对象
2010/02/16 PHP
PHP详解ASCII码对照表与字符转换
2011/12/05 PHP
php简单的留言板与回复功能具体实现
2014/02/19 PHP
PHP中trim()函数简单使用指南
2015/04/16 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
JavaScript数据类型转换的注意事项
2016/07/31 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
2018/09/04 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
JavaScript 严格模式(use strict)用法实例分析
2020/03/04 Javascript
[01:18:45]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第三场2月1日
2021/03/11 DOTA
python处理圆角图片、圆形图片的例子
2014/04/25 Python
python中的代码编码格式转换问题
2015/06/10 Python
python:pandas合并csv文件的方法(图书数据集成)
2018/04/12 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
2019/10/09 Python
使用CSS3中的calc()属性来以算式表达尺寸数值
2016/06/06 HTML / CSS
柏林通行证:Berlin Pass
2018/04/11 全球购物
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
趣味活动策划方案
2014/02/08 职场文书
《小熊住山洞》教学反思
2014/02/21 职场文书
暑假生活随笔
2015/08/15 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书
导游词之苏州盘门景区
2019/11/12 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS