定義:argument是一個偽數(shù)組對象,它表示在函數(shù)調(diào)用的過程傳入的所有參數(shù)的集合
*在函數(shù)調(diào)用過程中沒有規(guī)定參數(shù)的個數(shù)與類型,因此函數(shù)調(diào)用就具有靈活的特性,那么為了方便使用,
*在每一個函數(shù)調(diào)用的過程中,函數(shù)代碼體內(nèi)有一個默認(rèn)的對象argument,它存儲著實(shí)際傳入的所有參數(shù)。
js中函數(shù)并沒有規(guī)定必須如何傳參
1.定義函數(shù)的時(shí)候不寫參數(shù),一樣可以調(diào)用時(shí)傳遞參數(shù)
2.定義的時(shí)候?qū)懥藚?shù),調(diào)用的時(shí)候可以不傳參
3.定義的時(shí)候?qū)懥艘粋€參數(shù),調(diào)用的時(shí)候可以隨意的傳遞多個參數(shù)
例子展現(xiàn):
function foo(a,b){
var args=arguments; //能記錄傳入的所有參數(shù) 1,2,3,4 legngth:4
console.log(a+","+b);
}
foo(1,2,3,4)
廣泛用法:
在代碼設(shè)計(jì)中,如果需要函數(shù)帶有任意個參數(shù)的時(shí)候,一般就不戴任何參數(shù),所有的參數(shù)利用argument來獲取
一般的函數(shù)定義語法,可以寫成
function foo(/* ... */) { } //多個點(diǎn) 表示多個參數(shù)