gpt4 book ai didi

JavaScript:什么是 Expando 属性?

转载 作者:可可西里 更新时间:2023-11-01 01:49:52 25 4
gpt4 key购买 nike

我在阅读有关 JavaScript 内存泄漏的文章时遇到了这个属性。我被告知此属性仅在 Internet Explorer 中受支持,并且负责循环引用。

我尝试检查并发现此属性在任何浏览器中都不可用。谁能提供有关此属性的任何见解以及它与内存泄漏有何关联?

最佳答案

我带着同样的问题来到这里,也是在阅读了一篇关于内存泄漏的文章之后。阅读此处的答案后,我仍然感到困惑,所以我想在进行更多研究后分享我的发现。

在 JavaScript 中,要知道像 .expandoProperty 这样的东西是语言的一部分还是有人对属性名称很聪明,这可能会让人感到困惑。

内存泄漏文章中的

obj.expandoProperty 也可能是 obj.foo。他们试图通过使用“.expandoProperty”来传达的要点是,该属性最初并不作为对象的一部分存在。

var obj = {myProp: ''};
obj.myProp = 'foo'; //myProp is not an expando property
obj.myNewProp = 'bar'; //myNewProp is an expando property

添加到组合中:.expando 是一个仅限 IE 的属性,它“设置或检索一个值,指示是否可以在对象内创建任意变量。” MSDN article

另见 generalized discussion of expando properties on StackOverflow here .

关于JavaScript:什么是 Expando 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3529298/

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