Object.unobserve() - JavaScript 编辑
非标准
该特性是非标准的,请尽量不要在生产环境中使用它!
Object.unobserve() 是用来移除通过 Object.observe()
设置的观察者的方法。
语法
Object.unobserve(obj, callback)
参数
obj
- 需要停止观察的对象。
callback
- 通过 observer 给 obj 对象设置的回调函数.
描述
Object.unobserve()
用来在 Object.observe()
被调用以后,从对象上移除一个观察者。
这个回调函数必须是一个函数的引用,而不能是一个匿名函数。因为这个引用将被用来移除之前设置的观察者方法。 给 Object.unobserve() 传入匿名函数作为回调是不起作用的, 它不能移除任何观察者方法。
例子
观察一个对象
var obj = {
foo: 0,
bar: 1
};
var observer = function(changes) {
console.log(changes);
}
Object.observe(obj, observer);
obj.newProperty = 2;
// [{name: 'newProperty', object: <obj>, type: 'add'}]
Object.unobserve(obj, observer);
obj.foo = 1;
// 回调函数不会被调用
使用匿名函数
var person = {
name : 'Ahmed',
age : 25
};
Object.observe(person, function (changes) {
console.log(changes);
});
person.age = 40;
// [{name: 'age', object: <obj>, oldValue: 25, type: 'update'}]
Object.unobserve(person, function (changes) {
console.log(changes);
});
person.age = 63;
// [{name: 'age', object: <obj>, oldValue: 40, type: 'update'}]
// 回调函数将会被调用
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 36 | 未实现 | 未实现 | 23 | 未实现 |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 未实现 | 36 | 未实现 | 未实现 | 23 | 未实现 |
相关链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论