我需要最有效的方法来枚举Javascript中对象的自身属性。我当然知道for...in
模式,但是根据我的测试,在某些情况下它确实是一个性能陷阱,我想以某种方式解决它。
明确地说,我的意思是以下基本代码段。
for (var key in myObject) {
if (!myObject.hasOwnProperty(key)) continue;
...
}
我一直在考虑某种类型的缓存,但这并不是一件容易的事,并且也不允许实时捕获属性。
任何建议或提示表示赞赏。
更新
根据我的小型性能测试得出的结论是,在现代浏览器中,
Object.keys
与其他技术相比具有巨大优势。http://jsperf.com/enumerating-object-properties
最佳答案
您是否尝试过getOwnPropertyNames()?甚至Object.keys()?
您还能分享您完成的性能测试的结果吗?