原链接 http://www.cnblogs.com/RightDear/p/3156652.html

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

最新文章

  1. 如何获取ios 设备名字 model
  2. Http协议:彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
  3. Android成长日记-LogCat
  4. Div内有ul li元素,Div设置高度100%,谷歌IE下li过多会显示滚动条,而火狐下就会滚动条就不起作用,li会撑大Div
  5. [ CodeVS冲杯之路 ] P1368
  6. 一排div自由下落
  7. XML DOM 循环(foreach)读取PHP数据 和 PHP 编写 XML DOM 【转载】
  8. Android 自定义RadioButton实现
  9. OSG 安装配置
  10. 自动化构建工具gulp
  11. 【Android 错误记录】Conversion to Dalvik format failed with error 1 错误
  12. YY的困境:除了终止私有化 还有更多的担忧
  13. input、button、a标签 等定义的按钮尺寸的兼容性问题
  14. windows的80端口被占用时的处理方法
  15. Autoit 实现word拆分页解析 (python同理)
  16. SpringCloud实践引入注册中心+配置中心
  17. PHP之Trait详解
  18. csharp: FTP Client Library using System.Net.FtpClient and FluentFTP,测试中存在的BUG修正
  19. 深度学习课程笔记(十三)深度强化学习 --- 策略梯度方法(Policy Gradient Methods)
  20. 周总结<5>

热门文章

  1. php大转盘抽奖
  2. excel中如何取消自动超链接?
  3. 如何在IAR中配置CRC参数(转)
  4. 前端自动化构建工具-gulp
  5. shell的符号总结
  6. Kubernetes Kube-proxy
  7. DP问题分类总结
  8. java基础(5)-集合类1
  9. WINSOCK 传送文件
  10. 5.6 WebDriver API实例讲解(31-40)