JavaScript Function.arguments 屬性詳解

語法

[functionObject.]arguments

arguments屬性是正在執行的函數的內置屬性,返回該函數的arguments對象。arguments對象包含了調用該函數時所傳入的實際參數信息(參數個數、參數值等)。javascript

該屬性屬於Function對象,全部主流瀏覽器均支持該屬性。java

返回值

arguments屬性的值爲Object類型,返回正在執行的當前函數的arguments對象。數組

arguments對象包含調用該函數時所傳入的實際參數信息,例如:參數的個數和參數的值。咱們能夠經過arguments屬性讓函數處理可變數量的參數。瀏覽器

arguments對象有如下三個屬性:函數

  • length屬性,返回實際傳入的參數個數。
  • callee屬性,返回當前函數的引用(匿名函數能夠使用該屬性實現遞歸調用)。
  • 0...n屬性,以順序索引訪問傳入的具體參數。例如,使用arguments[0]能夠訪問傳入的第1個參數,arguments[1]能夠訪問傳入的第2個參數。

arguments對象具備length屬性和0...n屬性,看起來與數組的訪問方式相同,但arguments並非數組,它沒有數組對象所具有的其餘成員屬性和方法。spa

示例&說明

function test(){
    console.log(arguments.length); // 實際傳入的參數個數:3
    /* "test."能夠省略 */
    for(var i = 0; i < test.arguments.length; i++){
        console.log("傳入的第" + (i + 1) +"個參數:" + arguments[i]);  
    }
    // 傳入的第1個參數:1 傳入的第2個參數:張三 傳入的第3個參數:true
    
    // callee屬性返回的就是當前函數
    console.log( arguments.callee === test ); // true
};


test(1, "張三", true);
相關文章
相關標籤/搜索