1
我可以使用原型创建对象,并在构造函数中设置字段,或者我可以使用JSON创建对象。我预计原型版本将会像文字一样快,或者更快,但是它发生在chrome和ff上的速度较慢,而在Opera上它们看起来是平等的。Javascript性能访问对象的字段,如果对象是原型,如果它是从文字创建
http://jsperf.com/object-literal-vs-object-prototype-field-access-time
有人可以解释吗?
所以我应该明白,在使用非原型对象时,hasOwnProperty函数根本不会被调用? –
嗯,在内部它可能从未被调用,并且可能存在几层缓存(我不知道如何工作)来加速所有内容。另外,我认为(当我回答时,我忘记了),当你访问一个原型值时,值被复制到所讨论的对象中,尽管我不确定这一点......但是,如果你忽略缓存(可能或可能不存在),你总是必须检查'hasOwnProperty',导致你怎么知道要返回什么?重要的是要记住的是,原型查找以同样的方式工作(new'hasOwnProperty')。 – Alxandr
好吧,如果我有足够的声望,我会鼓励你;) –