3
所以我正在讀通過JavaScript:權威指南,並正檢討這個簡單的功能:括號表示與Object.hasOwnProperty?
function merge(o, p){
for(prop in p){
if(o.hasOwnProperty[prop]) continue;
o[prop] = p[prop];
}
return o;
}
似乎很簡單,但是當我運行它,它不工作,除非我改變o.hasOwnProperty[prop]
到o.hasOwnProperty(prop)
。
這對我有意義,因爲hasOwnProperty是一種方法。這是否意味着這只是書中的一個錯誤?我正在閱讀第6版,這是打印在第127頁爲有興趣的人。
我懷疑是這樣,但我只是想確定沒有什麼奇怪的關於這個功能,我只是沒有意識到這會使它工作。
謝謝。我剛剛找到了這本書的Eratta,並且我看到其他人已經報道過這個(儘管目前尚未證實):http://www.oreilly.com/catalog/errataunconfirmed.csp?isbn=9780596101992。 – Aweary 2014-09-29 17:39:24
'for(prop in p)' – Plato 2014-09-29 17:40:29
@Plato:對。它沒有宣佈。 (在'merge'的某處應該有'var prop'。) – 2014-09-29 17:42:07