1. 程式人生 > >JS--理解參數,argument,重載

JS--理解參數,argument,重載

接收 內存 -- 讀取 參數數組 類型 argument asc 同步

ECMAScript函數的參數與大多數其他語言函數的參數不同。ECMAScript函數不介意傳遞進來多少個參數,也不在乎傳遞進來的參數是什麽數據類型。

原由在於,ECMAScript中的參數在內部是用一個數組來表示的。函數接收到的永遠是數組,而不關心包含哪些參數。並且,實際上,在函數體內可以通過arguments對象

來訪問這個參數數組,從而獲取傳遞給函數的每一個參數。

不過,其實arguments對象只是與數組類似(他不是Array實例),因為可以使用方括號語法訪問他的每一個元素。

關於arguments的行為,還有一個特殊性,那就是他的值永遠和對應命名參數的值一致。但這不是說,讀取這兩個值,會訪問同一個內存空間。他們的內存空間是獨立的,但是值會同步。

ECMAScript函數是沒有重載的。正如上面說的他的參數是一個arguments對象(類似數組),那麽不管你怎麽改變參數形式,他都會保存在一個數組裏,最終訪問的都是訪問這個arguments對象數組。

JS--理解參數,argument,重載