gpt4 book ai didi

javascript - JavaScript V8 中的普通对象是否有隐藏类?

转载 作者:行者123 更新时间:2023-11-30 06:34:06 24 4
gpt4 key购买 nike

我在 V8 Design Elements:Fast Property Access 读过隐藏类(class).

例子中的对象是由构造函数创建的

var p1 = new Point(1,2)

p1 有一个隐藏类用于快速访问它的属性 'x', 'y'。

var p2 = {x:1,y:2}

所以,我的问题#1 是:p2 是否与 p1 共享一个隐藏类?

而且,如果 p2 确实有一个隐藏类,下面的代码会更改隐藏类吗?(问题 #2)

delete p2.x

这是让我问这个问题的文章:

Writing Fast, Memory-Efficient JavaScript

只需阅读消除错误观念部分。

这篇文章关于删除属性是否正确?(问题#3)

最佳答案

所以,我的问题#1 是:p2 是否与 p1 共享一个隐藏类?答:不,只有使用相同构造函数创建的对象才会共享隐藏类。

问题 2 的答案:删除 p2 上的属性将更改 p2 的隐藏类。

我已经使用 chrome 开发工具上可用的堆内存快照选项验证了这一点。

谢谢,

关于javascript - JavaScript V8 中的普通对象是否有隐藏类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15676192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com