[譯]Javascript 參數(arguments)對象

本文翻譯youtube上的up主kudvenkat的javascript tutorial播放單javascript

源地址在此:java

https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b函數

 

Javascript 參數(arguments)對象是一個在全部函數中均可用的本地變量.其包含了全部傳給函數的參數,而且像數列同樣排着序.參數對象的長度就是傳給函數的參數個數.spa

 

JavaScript 參數對象例子:prototype

function printArguments() 
{
    document.write("Number of arguments = " + arguments.length + "<br/>")
    for (var i = 0; i < arguments.length; i++) 
    {
        document.write("Argument " + i + " = " + arguments[i] + "<br/>");
    }
    document.write("<br/>");
}

printArguments();
printArguments("A", "B");
printArguments(10, 20, 30);

能夠將任意個數的參數傳給Javascript函數嗎翻譯

能夠的.你能夠傳任意個數的參數給任意Javascript函數.全部的參數將會被存在參數對象中code

function addNumbers() 
{
    var sum = 0;
    document.write("Count of numbers = " + arguments.length + "<br/>")
    for (var i = 0; i < arguments.length; i++) 
    {
        sum = sum + arguments[i];
    }
    document.write("Sum of numbers = " + sum);
    document.write("<br/><br/>");
}

addNumbers();
addNumbers(10, 20, 30);

參數對象只在函數內部有效.在函數外部試圖得到參數對象的話只會致使undefined錯誤.儘管你能夠像數列同樣給arguments排序,可是其並非數列.除了長度屬性之外,參數對象並無其餘數列所擁有的屬性.好比數列所擁有的sort()方法,參數對象並無.可是,你能夠輕易地將參數對象轉換成一個數列.對象

將Javascript參數對象轉換成一個數列blog

function numbers() 
{
    var argsArray = Array.prototype.slice.call(arguments);
    argsArray.sort();
    document.write(argsArray);
}

numbers(50, 20, 40);

Output : 20, 40, 50排序

相關文章
相關標籤/搜索