我想Concat的一個arguments
對象與另一個數組,我寫了這樣的代碼:爲什麼我無法在JavaScript中使用concat方法將「參數」對象轉換爲數組?
[].concat.call(arguments, newArray)
但它返回[ [object Arguments], ... ]
,這正是不是我想要的。我用Google搜索,發現爲什麼我可以通過切片方法做一些解釋:How can I convert the "arguments" object to an array in JavaScript?
但擡頭規範後,我發現concat方法相同的定義:
注意的
concat
功能有意通用的;它不要求它的這個值是一個Array對象。因此可以將其轉換爲其他類型的對象以用作方法。concat
函數是否可以成功應用於主機對象取決於實現。
該規範是在這裏:http://es5.github.io/#x15.4.4.4
所以現在我困惑,爲什麼我不能通過concat
方法arguments
對象轉換爲數組。
*「和我寫了這樣的代碼」 *什麼是'newArray'? – 2015-04-04 12:44:32
看看步驟5b和5c。這就是爲什麼。該說明似乎與算法不同,但筆記明顯是非正式的。 – 2015-04-04 12:48:08
這是另一個數組,如'[1,2,3]'。 – 2015-04-04 12:49:03