{{JSRef}} {{non-standard_header}}
The Object.unobserve()
method is used to remove observers set by {{jsxref("Object.observe()")}}.
Syntax
Object.unobserve(obj, callback)
Parameters
obj
- The object to stop observing.
callback
- The reference to the observer to stop calling each time changes are made on the object obj.
Description
Object.unobserve()
should be called after {{jsxref("Object.observe()")}} in order to remove an observer from an object.
The callback should be a reference to a function and not an anonymous function, because this reference will be used to unset the previous observer. It's useless to call Object.unobserve() with an anonymous function as callback, it will not remove any observer.
Examples
Unobserving an object
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; // The callback wasn't called
Using an anonymous function
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'}] // The callback will always be called
Specifications
{{WhyNoSpecStart}}Strawman proposal specification.{{WhyNoSpecEnd}}
Browser compatibility
{{CompatibilityTable}}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | {{CompatChrome("36")}} | {{CompatNo}} | {{CompatNo}} | {{CompatOpera("23")}} | {{CompatNo}} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | {{CompatNo}} | {{CompatChrome("36")}} | {{CompatNo}} | {{CompatNo}} | {{CompatOpera("23")}} | {{CompatNo}} |
See also
- {{jsxref("Object.observe()")}} {{non-standard_inline}}
- {{jsxref("Array.observe()")}} {{non-standard_inline}}
- {{jsxref("Array.unobserve()")}} {{non-standard_inline}}