我需要最有效的方法来枚举Javascript中对象的自身属性。我当然知道for...in模式,但是根据我的测试,在某些情况下它确实是一个性能陷阱,我想以某种方式解决它。

明确地说,我的意思是以下基本代码段。

for (var key in myObject) {
  if (!myObject.hasOwnProperty(key)) continue;
  ...
}


我一直在考虑某种类型的缓存,但这并不是一件容易的事,并且也不允许实时捕获属性。

任何建议或提示表示赞赏。

更新

根据我的小型性能测试得出的结论是,在现代浏览器中,Object.keys与其他技术相比具有巨大优势。

http://jsperf.com/enumerating-object-properties

最佳答案

您是否尝试过getOwnPropertyNames()?甚至Object.keys()

您还能分享您完成的性能测试的结果吗?

09-30 16:44
查看更多