在使用js時(shí)有時(shí)會遇到需要給相應(yīng)函數(shù)的參數(shù)設(shè)置默認(rèn)值的問題,如果按照強(qiáng)類型語言的方式直接給定初值會發(fā)現(xiàn)報(bào)錯(cuò)。如下:
<script>
function test(id=0)
{alert(id);}
</script>
js不能這樣這樣傳進(jìn)默認(rèn)參數(shù)。那么應(yīng)該怎么做呢怀读?js已經(jīng)給我們提供了一個(gè)內(nèi)置屬性arguments诉位。具體可參考http://www.cnblogs.com/lwbqqyumidi/archive/2012/12/03/2799833.html 此處只寫出簡單用法骑脱。
舉例說明:
<script>
function test(id,name,url)
{
if(!arguments[2]) id = "123";//設(shè)置id默認(rèn)值為123
if(!arguments[3]) name = "null";//設(shè)置name默認(rèn)值為null
}
</script>
簡單來說,js這個(gè)內(nèi)置對象arguments將函數(shù)的參數(shù)存為一個(gè)類似數(shù)組的對象苍糠,所以可以對arguments進(jìn)行操作從而對參數(shù)賦默認(rèn)值叁丧。
更新:當(dāng)然現(xiàn)在es6已經(jīng)支持強(qiáng)類型語言的方式直接給定初值。