我在書上找到了代碼,並且遇到了一些問題。關於原型和陣列的一些問題
var elems = {};
Array.prototype.push.call(elems, document.getElementById("first"));
alert(elems[0].nodeType); /It would output 1
- 我知道,「呼」是綁定推法「elems的」對象。但「elems」是一個空的對象,爲什麼空對象具有「push」方法?
- 我試圖放棄從Array.prototype.push到Array.push的「原型」。但它沒有 工作。爲什麼?正如我從書中知道的那樣,這個方法可以歸因於原型鏈。 謝謝。
你確定這不是'無功elems的= [];'? – Andy
不,那麼他們可以只做'elems.push'。這段代碼似乎證明了在非'Array'對象上調用'Array'方法的能力。 –
只是因爲你可以這樣做,並不意味着你應該:) – Andy