最近,我讀到了以下行JavaScript對象與數組原型
var obj = {};
Array.prototype.push.call(obj, 'aaa', 'bbb', 'ccc');
console.log(obj);
{0: "aaa", 1: "bbb", 2: "ccc", length: 3}
我知道它會嘗試使用OBJ的背景和經過,其餘爲參數的文章。之前,我只是用來將每個項目推送到一個數組中。我很好奇這個實現背後的邏輯是什麼。它如何將索引設置爲值的每個鍵以及爲什麼「長度」自動添加到對象?謝謝
因爲這push'如何'工作:http://es5.github.io/#x15.4.4.7 – 2014-12-02 17:57:36
事實上,許多陣列方法是......「故意通用的,不要求他們的'this'值是一個Array對象',引用了同一個文檔。 – raina77ow 2014-12-02 18:03:36