2013年3月22日星期五

【转】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> 

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



没有评论: