這篇文章帶給大家的內容是關於Javascript中arguments物件的範例講解,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
今天我們來看看arguments物件及屬性。 arguments物件不能明確創建,arguments物件只有函數開始時才可用。函數的 arguments 物件並不是一個數組,存取單一參數的方式與存取數組元素的方式相同。索引 n 其實是arguments 物件的 0…n 屬性的其中一個參數。
1 function add(a,b){ 2 console.log(typeof arguments); 3 for(var attr in arguments){ 4 console.log(attr+":"+arguments[attr]); 5 } 6 return a+b; 7 } 8 9 add(10,20)
透過輸出結果看到,arguments其實是一個對象,而不是一個數組,而這個數組有2個屬性,屬性名為0和1,其值分別為10和20
在JavaScript中,參數清單分為形參和實參。形參即為定義函數時指定的參數,實參為呼叫函數時所指定的參數。例如在上面例子中可以透過
alert(add(10))
來呼叫函數,這裡只指定了一個參數,即實參數為1,形參數為2。在JavaScript中,並沒有要求實參數必須和形參個數相同。上面的程式碼同樣可以執行。只是輸出NaN
在實際中,我們可以這樣,先判斷參數個數
1 function add(a,b){ 2 3 //add.length也可以获取形参个数,但实际中用arguments.callee.length 4 if(arguments.length==arguments.callee.length){ 5 return a+b; 6 }else{ 7 return "参数错误"; 8 } 9 10 }
arguments.length:取得實參數
arguments.callee .length:取得形參數
arguments.callee:指帶函數本身
arguments常用於遞迴運算
例如,求一個1到n的和
1 function fn(n){ 2 3 if(n==1){ 4 return 1; 5 }else{ 6 return n+arguments.callee(n-1); 7 } 8 } 9 10 alert(fn(100))
結果為5050
以上是Javascript中arguments物件的範例講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!