在js中經常會用用到arguments這個物件,而這個屬性是代表著函式f(a,b,c,...)中被傳入的實參。arguments實際上是乙個類陣列的物件,arguments具有length的屬性和類陣列的特性。
1:arguments是收到的實參副本,在詞法分析中, 首先按形參形成ao的屬性,值為undefined。當實參傳來時, 再修改ao的相應屬性.2:並把所有收到實參收集起來,放到乙個arguments物件裡t(a,b,c){},呼叫時: t(1,2,3,4,5) 5個引數。此時 , ao屬性只有a,bc,3個屬性, arguments裡有1,2,3,4,5, 所有的值。對於超出形參個數之外的實參, 可以通過arguments來獲得
3:arguments 的索引 從 0, 1,2,....遞增,與實參逐個對應
4:arguments.length 屬性代表實參的個數
5:arguments一定不是陣列, 是長的比較像陣列的乙個物件,雖然也有length屬性
6:arguments每個函式都會有,因此,arguemnts只會在內部找自身的arguments,
無法引用到外層的arguments,
示例如下:
另外,fuction本身也有length的屬性,如function f1(a,b,c), f1.length是代表函式內形參的個數,如f1.length // 3
關於 js中的arguments 物件
arguments物件包含了函式執行時的所有引數,arguments 0 就是第乙個引數,arguments 1 就是第二個引數,以此類推。這個物件只有在函式體內部,才可以使用。var f function one f 1,2,3 1 2 3 正常模式下,arguments物件可以在執行時修改。va...
JS中的arguments物件解析
在函式體內。識別符號arguments是指向實參物件的引用,實參物件是乙個類陣列物件 arguments 0 arguments.lengtharguments是什麼?答 1 arguments是收到的實參副本 在詞法分析中,首先按形參形成ao的屬性,值為undefined 當實參傳來時,再改動ao...
在js中arguments物件的理解
函式的上下文物件this 封裝實參的物件arguments arguments 物件實際上是所在函式的乙個內建類陣列物件 每個函式都有乙個arguments屬性,表示函式的實參集合,這裡的實參是重點,就是執行函式時實際傳入的引數的集合。arguments不是陣列而是乙個物件,但它和陣列很相似,所以通...