今天與同事一起看了一個(gè)javscript定義函數(shù)問題,如何在定義一個(gè)函數(shù)里給參數(shù)一個(gè)默認(rèn)值.
開始想當(dāng)然地認(rèn)為可能像php或python等語言中一樣
js 代碼
- :function test(a,b="er"){
- alert(a + b );
- }
- 調(diào)用:
- test(a)
-
- test(a,b)
可是,定義完之后一直在報(bào)錯(cuò):缺少對(duì)象.經(jīng)過查詢才發(fā)現(xiàn),javascript中的確不能這樣定義,可以借肋于arguments 是實(shí)參數(shù)組,參考下例:
js 代碼
- <script>
- function Test(a){
- var b=arguments[1]?arguments[1]:50
- return a+':'+b
- }
- alert(Test(5))
- alert(Test(5,9))
- </script>
測(cè)試后,果然成了。看來萬事都有其規(guī)律,不能想當(dāng)然。在此記錄下來,免得以后再犯錯(cuò)。