Наши волонтёры ещё не перевели данную статью на Русский. Присоединяйтесь к нам и помогите сделать эту работу!
Вы можете также прочитать эту статью на English (US).
Obsolete
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
The Object.unobserve()
method was used to remove observers set by Object.observe()
, but has been deprecated and removed from Browsers. You can use the more general Proxy
object instead.
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.
Return value
The specified object.
Description
Object.unobserve()
should be called after 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
Strawman proposal specification.
Browser compatibility
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Basic support | Chrome No support 36 — 52 | Edge No support No | Firefox No support No | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Edge Mobile No support No | Firefox Android No support No | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No | nodejs No support No |
Legend
- No support
- No support
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.
- Deprecated. Not for use in new websites.
- Deprecated. Not for use in new websites.