1.函數參數的特性:函數
function doAdd(num1, num2) { arguments[1] = 10; alert(arguments[0] + num2); }
arguments對象中的值會自動反映到對應的命名參數,因此修改 arguments[1],也就修改了 num2;
雖然它們的值會同步,但它們的內存空間是獨立的,並不會訪問到同一內存空間;
若是隻傳入了一個參數,那麼爲 arguments[1]設置的值不會反應到命名參數中。這是由於 arguments 對象的長度是由傳入的參數個數決定的,不是由定義函數時的命名參數的個數決定的。(這也說明它們並非指向同一內存空間)學習
2.ECMAScript沒有相似Java那樣的重載函數功能,若是有同名函數,那麼後定義的函數覆蓋了先定義的函數。code