JS 自定义函数时,如何定义参数默认值

今天与同事一起看了一个javscript定义函数问题,如何在定义一个函数里给参数一个默认值.
开始想当然地认为可能像php或python等语言中一样

js 代码

function test(a,b="er"){ 
  alert(a + b ); 
}

可是,定义完之后一直在报错:缺少对象.经过查询才发现,javascript中的确不能这样定义,可以借肋于arguments 是实参数组,参考下例:

js 代码

<script type="text/javascript"> 
  function Test(a) {
    var b = arguments[1] ? arguments[1] : 50;
    return a + ':' + b;
  }
  alert(Test(5));
  alert(Test(5,9));
</script>

测试后,果然成了。看来万事都有其规律,不能想当然。在此记录下来,免得以后再犯错。

posted @ 2011-07-20 20:57  科学家会武术  阅读(383)  评论(0编辑  收藏  举报