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

今天与同事一起看了一个javscript定义函数问题,如何在定义一个函数里给参数一个默认值.

开始想当然地认为可能像php或python等语言中一样
js 代码
 
  1. :function test(a,b="er"){  
  2.      alert(a + b );  
  3. }  
  4. 调用:  
  5.   test(a)  
  6.   
  7.   test(a,b)  


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

js 代码
 
  1. <script>  
  2. function Test(a){  
  3. var b=arguments[1]?arguments[1]:50  
  4. return a+':'+b  
  5. }  
  6. alert(Test(5))  
  7. alert(Test(5,9))  
  8. </script>  


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

你可能感兴趣的:(JavaScript,PHP,python)