首先,我做了一个快速的 jsperf 测试用例,以显示明显的 :比使用语法
Object.create(null)
创建对象要慢得多。http://jsperf.com/js-object-creation-null-proto{}
但鉴于这一事实,前一种情况有时是否可以成为优化和性能方面的一个很好的选择?换句话说,操作最轻量级的 js 对象是否可以足够提高性能,以至于在某些情况下使用它成为一个合理的选择。
我指的是您将大量访问对象属性或大量使用 for in 循环的情况。
这种方法在库中使用是否风险太大,人们可能会被引导处理这些不拥有标准Object
原型带来的标准属性的对象?
另外,您知道创建最轻量级 js 对象的另一种(更快)方法吗?
PS:我做了一个简短的测试案例来展示使用 aObject.create(null)
和访问属性比 with 快一点的案例{}
。
http://jsperf.com/js-object-creation-and-accessing-properties