gpt4 book ai didi

javascript - 检测何时将新属性添加到 Javascript 对象?

转载 作者:数据小太阳 更新时间:2023-10-29 03:50:16 24 4
gpt4 key购买 nike

一个使用内置 javascript 对象的简单示例:navigator.my_new_property = "一些值";//我们可以检测到添加了这个新属性吗?

我不想不断轮询对象以检查新属性。是否有某种类型的更高级别的对象 setter 而不是显式声明要监视的属性?

同样,我不想检测属性值是否发生了变化,而是希望在添加新属性时检测。

想法?谢谢

最佳答案

没有。确定何时写入属性的现有方法:

  • 使用 defineProperty(obj, name, fn) 定义的 ECMAScript 5 setter;
  • 使用 __defineSetter__(name, fn) 定义的遗留 JavaScript setter;
  • 遗留的 Netscape/Mozilla watch(name, fn);

都是基于名称的,因此无法捕获使用以前未知的名称编写的新属性。在任何情况下,navigator 都可能是一个“宿主对象”,因此您不能依赖其上可用的任何普通 JavaScript Object 接口(interface)。

轮询或提供回调的显式 setter 方法是您所能做的一切。

类似情况:Getter/setter on javascript array?

关于javascript - 检测何时将新属性添加到 Javascript 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2775384/

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