javascript - hasOwnProperty 和对象的属性访问

标签 javascript object properties

我有一个非常简单的问题。访问对象的属性(例如object[property])和属性的数量是否有任何性能关系?是否存在一些内部循环或其他问题,关于 hasOwnProperty - 任何循环或只是像 array[index] 那样直接访问??

最佳答案

JavaScript 是一种动态编程语言:可以动态地向对象添加和删除属性。这意味着对象的属性可能会发生变化。大多数 JavaScript 引擎使用类似字典的数据结构作为对象属性的存储 - 每个属性访问都需要动态查找来解析属性在内存中的位置。这种方法使得访问 JavaScript 中的属性通常比访问 Java 和 Smalltalk 等编程语言中的实例变量慢得多。在这些语言中,由于对象的类定义了固定的对象布局,实例变量位于由编译器确定的固定偏移处。访问只是内存加载或存储的问题,通常只需要一条指令。

使用 V8(JavaScript 引擎)以获得更好的性能。

关于javascript - hasOwnProperty 和对象的属性访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39389803/

相关文章:

c# - 如何解析具有属性的类?

javascript - jquery 点击时没有选择器

javascript - HTML/CSS/JS - 仅在按住 ctrl/shift/alt 键时更改不同 <td> 的样式

javascript - VM1661 :1 Uncaught (in promise) SyntaxError: Unexpected token s in JSON at position 0

javascript - 自动 slider 动画不起作用

ruby - 为什么 Class#allocate 在 Ruby 中是公共(public)方法?

javascript - 将键值对放入对象中 - 为什么它按 # 对条目进行排序?

c# - 如何获取类的枚举属性列表?

javascript - IE8 Array.prototype.slice : 'this' is not a JavaScript object

java - Java属性文件和Gradle