一个使用内置javascript对象的简单示例:
navigator.my_new_property =“某些值”;//我们能否检测到添加了此新属性?
我不想不断地轮询对象以检查新属性。
是否有某种类型的对象高级 setter ,而不是明确说明要监视的属性?
同样,我不想检测属性值是否已更改,而是要何时添加新属性。
有想法吗?
谢谢
最佳答案
不。确定何时将属性写入以下内容的现有方法:
defineProperty(obj, name, fn)
定义的ECMAScript 5 setter ; __defineSetter__(name, fn)
定义的旧式JavaScript setter ; watch(name, fn)
; 都是基于名称的,因此无法捕获使用先前未知名称编写的新属性。无论如何,
navigator
可能是“宿主对象”,因此您不能依赖任何可用的常规JavaScript Object
接口(interface)。轮询或提供回调的显式setter方法几乎是您所能做的。
类似的情况:Getter/setter on javascript array?
关于javascript - 检测何时将新属性添加到Javascript对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2775384/