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