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));
另外:js沒有像其他高級語言那種函數重載功能。