js函式動態傳參
阿新 • • 發佈:2019-01-06
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");