js函數體內可以通過arguments對象來接收傳遞進來的參數,利用這一對象屬性可以動態傳參。
function box() { return arguments[0]+' | '+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() { var sum = 0; if (arguments.length == 0) return sum; //如果沒有參數,退出 for(var i = 0;i < arguments.length; i++) { //如果有,就累加 sum = sum + arguments[i]; } return sum; //返回累加結果 } alert(box(5,9,12));
例子:
function loading() {
var a="";
for (var index in arguments) {
a+=arguments[index]+"\n";
}
alert(a);
}
loading("xxx","yyyy","ccc");