【发布时间】:2010-11-07 00:30:54
【问题描述】:
浏览 Javascript 文档,我发现 Javascript 对象上的以下两个函数看起来很有趣:
.watch - 监视要分配值的属性并在发生时运行函数。.unwatch - 删除使用 watch 方法设置的观察点。
更新:弃用警告
不要使用watch()和unwatch()!这两个 方法仅在 Firefox58之前的版本中实现,它们是 Firefox 中已弃用和删除58+
示例用法:
o = { p: 1 };
o.watch("p", function (id,oldval,newval) {
console.log("o." + id + " changed from " + oldval + " to " + newval)
return newval;
});
每当我们改变“p”的属性值时,这个函数就会被触发。
o.p = 2; //logs: "o.p changed from 1 to 2"
过去几年我一直在研究 Javascript,但从未使用过这些功能。
有人可以提出一些好的用例,这些功能会派上用场吗?
【问题讨论】:
-
这些仅适用于基于 Gecko 的浏览器,例如 Mozilla Firefox。 Internet Explorer 通过对象公开了一个类似的方法,称为 onpropertychange。
标签: javascript browser dom-events