ECMAScript 函數不介意傳遞進來多少參數,也不會因為參數不統一而出錯。實際上,函數體內可以透過 arguments 物件來接收傳遞進來的參數。
function box() {
function box() {
return arguments[ ] ' | ' arguments[1]; //得到每次參數的值
}
alert(box(1,2,3,4,5,6)); //傳遞參數
arguments 物件的length 屬性可以得到參數的數量。
function box() {
return arguments.length; //得到6
}
alert(box(1,2,3,4,5,6));
我們可以利用length 這個屬性, 來智能的判斷有多少參數, 然後把參數做合理的應用。
例如,要實現一個加法運算,將所有傳進來的數字累加,而數字的個數又不確定。 複製程式碼
程式碼如下:
function box() {
if (arguments.length == 0) return sum; //如果沒有參數,退出
for(var i = 0;i sum = sum arguments[i];
}
return sum; //回傳累積結果
}
alert(box(5,9,12));
alert(box(5,9,12));
ECMAScript 中的函數,沒有像其他高階語言那種函數重載功能。
function box(num) {
return num 100;
}
function box (num) { //會執行這個函數return num 200; } alert (box(50)); //回傳結果