在Javascript中添加对象属性时引发事件?

在Javascript中添加对象属性时引发事件?,javascript,Javascript,我有一个Javascript对象: var obj={…} 每当添加/更改新属性时,如何执行函数: 例如:obj[“newItem”]=3 是否有任何方法也适用于阵列?(原型中的excpet覆盖push) 对于将不同的对象分配给同一个变量,有没有办法也这样做 例如: var obj={...}; obj={...}; //redifine 有一个提议,叫做某件东西,正是为了这个目的。这与Firefox中的类似 还有一个对象可以给你更多的灵活性 然而,这两种方法都没有得到广泛的实现—

我有一个Javascript对象:

var obj={…}

  • 每当添加/更改新属性时,如何执行函数:

    例如:
    obj[“newItem”]=3

  • 是否有任何方法也适用于阵列?(原型中的excpet覆盖
    push

  • 对于将不同的对象分配给同一个变量,有没有办法也这样做

    例如:

    var obj={...};
        obj={...}; //redifine
    

有一个提议,叫做某件东西,正是为了这个目的。这与Firefox中的类似

还有一个对象可以给你更多的灵活性

然而,这两种方法都没有得到广泛的实现——例如,如果您正在开发Firefox插件,您可以使用代理

请注意,问题的第一点也是如此,但最后一点则不然。基本上,如果你正在做:

var obj = {a: 1};

obj = {b: 1};

你没有“重新定义”一个对象,对象本身没有被触摸,你只是给同一个变量分配了一个不同的对象。如果要监视更改,该变量必须是对象的属性–例如,在浏览器中,任何全局变量都自动成为全局对象的属性,在这种情况下,
窗口
,因此您可以这样做。

我不相信有,但我希望被证明是错误的。是的,您可以,请参阅。你所说的“重新定义对象”是什么意思?也许这个问题对第一个问题有帮助@安东尼:我相信手表是用来修改的,不是用来添加的……对吗?