[譯]Javascript 參數(arguments)對象
阿新 • • 發佈:2017-11-05
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)對象