出于某种原因,似乎(至少在 Chrome 中)如果您创建一个对象并使用空值初始化每个属性,然后为每个属性分配一个值,这比最初将对象留空要快。为什么会这样(test)?
最佳答案
V8(Chrome 的 Javascript 引擎)进行了优化,可以定义隐藏类来表示 Javascript 中的特定对象。最好在创建时声明对象的属性时执行此操作。
There are two advantages to using hidden classes: property access does not require a dictionary lookup, and they enable V8 to use the classic class-based optimization, inline caching.
关于javascript - 为什么用 null 初始化对象的属性会提高速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15814923/