js的參數理解
阿新 • • 發佈:2017-11-04
rip define span 長度 函數 cti col 自動 決定
ECMAScript內的參數在內部使用一個數組來表示的,在函數內可以通過arguments對象來訪問這個參數數組,從而傳遞給函數的每一個參數
function doADD () { if (arguments.length == 1) { alert(arguments[0] + 10); } else if (arguments.length == 2){ alert(arguments[0] + arguments[1] ); } } doADD(10); //20 doADD(30,20); //50
另外,arguments 對象還可以和命名參數一起使用
function doADD (num1,num2) { if (arguments.length == 1) { alert(arguments[0] + 10); } else if (arguments.length == 2){ alert(arguments[0] + arguments[1] ); } }
arguments 的值和對應命名參數的值保持同步
arguments對象的長度是由傳入的參數個數決定的,不是由定義函數時候的命名參數個數決定的
沒有傳遞命名參數將會被自動賦予undefined值
所有參數傳遞的都是值,不可能通過引用傳遞參數(
原始類型的內容是存儲在棧中;而對象的內容是存儲在堆中,指向堆的地址存儲在棧中。
原始類型傳遞的是存儲在棧裏的內容,對象傳遞的是存儲在棧裏的地址, 都是copy棧裏的值來傳遞, 都是值傳遞。
)
js的參數理解