1. 程式人生 > >[譯]Javascript 參數(arguments)對象

[譯]Javascript 參數(arguments)對象

ava prototype out doc 對象 print .so https cal

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

源地址在此:

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

Javascript 參數(arguments)對象是一個在所有函數中都可用的本地變量.其包含了所有傳給函數的參數,並且像數列一樣排著序.參數對象的長度就是傳給函數的參數個數.

JavaScript 參數對象例子:

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函數.所有的參數將會被存在參數對象中

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參數對象轉換成一個數列

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

numbers(50, 20, 40);

Output : 20, 40, 50

[譯]Javascript 參數(arguments)對象