gpt4 book ai didi

javascript - 对象访问触发事件

转载 作者:行者123 更新时间:2023-11-29 22:31:26 24 4
gpt4 key购买 nike

我有一个我之前创建的对象。

obj = new Object();

每次更改对象子对象时,我都想触发一个函数。

例如:

function changed()
{
alert('Object changed';)
}

obj.test = 'blabla'; //fire changed().

这可能吗?谢谢

最佳答案

是也不是。您要找的是accessors and mutators (也称为 getter 和 setter),但遗憾的是它们不跨浏览器兼容。

如果您只需要注意值已更改,并且延迟不是问题,则可以使用超时循环来轮询值:

function check(key, context, callback)
{
var cachedValue;
cachedValue = context[key];
function doCheck()
{
if ( cachedValue != context[key] ) callback();
setTimeout(doCheck, 100);
}
doCheck();
}

check('test', obj, testChanged);

当然,这是轮询循环如何工作的一个非常简单的示例。有更好的方法可以做到这一点。

关于javascript - 对象访问触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6722161/

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