mirror of
https://github.com/ruanyf/es6tutorial.git
synced 2025-05-28 21:32:20 +00:00
edit docs/object/observe
This commit is contained in:
parent
a49dcfd0a6
commit
6caf729db1
@ -211,4 +211,4 @@ var a3 = ["x3", "y3"];
|
||||
|
||||
这两个方法用于监听(取消监听)数组的变化,指定回调函数。
|
||||
|
||||
它们的用法与Object.observe()和Object.unobserve()完全一致,请参阅《对象的扩展》一章。唯一的区别是,对象可监听的变化一共有六种,而数组只有四种:add、update、delete、splice(数组的length属性发生变化)。
|
||||
它们的用法与Object.observe和Object.unobserve方法完全一致,请参阅《对象的扩展》一章。唯一的区别是,对象可监听的变化一共有六种,而数组只有四种:add、update、delete、splice(数组的length属性发生变化)。
|
||||
|
@ -305,7 +305,7 @@ proxy.age // 抛出一个错误
|
||||
|
||||
## Object.observe(),Object.unobserve()
|
||||
|
||||
Object.observe()用来监听对象的变化。一旦监听对象发生变化,就会触发回调函数。
|
||||
Object.observe方法用来监听对象的变化。一旦监听对象发生变化,就会触发回调函数。
|
||||
|
||||
```javascript
|
||||
|
||||
@ -324,11 +324,11 @@ Object.observe(o, observer);
|
||||
|
||||
```
|
||||
|
||||
上面代码中,Object.observe()监听一个空对象o,一旦o发生变化(比如新增或删除一个属性),就会触发回调函数。
|
||||
上面代码中,Object.observe方法监听一个空对象o,一旦o发生变化(比如新增或删除一个属性),就会触发回调函数。
|
||||
|
||||
Object.observe()指定的回调函数,接受一个数组(changes)作为参数。该数组的成员与对象的变化一一对应,也就是说,对象发生多少个变化,该数组就有多少个成员。每个成员是一个对象(change),它的name属性表示发生变化源对象的属性名,oldValue属性表示发生变化前的值,object属性指向变动后的源对象,type属性表示变化的种类,目前共支持六种变化:add、update、delete、setPrototype、reconfigure(属性的attributes对象发生变化)、preventExtensions(当一个对象变得不可扩展时,也就不必再观察了)。
|
||||
Object.observe方法指定的回调函数,接受一个数组(changes)作为参数。该数组的成员与对象的变化一一对应,也就是说,对象发生多少个变化,该数组就有多少个成员。每个成员是一个对象(change),它的name属性表示发生变化源对象的属性名,oldValue属性表示发生变化前的值,object属性指向变动后的源对象,type属性表示变化的种类,目前共支持六种变化:add、update、delete、setPrototype、reconfigure(属性的attributes对象发生变化)、preventExtensions(当一个对象变得不可扩展时,也就不必再观察了)。
|
||||
|
||||
Object.observe()还可以接受第三个参数,用来指定监听的事件种类。
|
||||
Object.observe方法还可以接受第三个参数,用来指定监听的事件种类。
|
||||
|
||||
```javascript
|
||||
|
||||
@ -338,7 +338,7 @@ Object.observe(o, observer, ['delete']);
|
||||
|
||||
上面的代码表示,只在发生delete事件时,才会调用回调函数。
|
||||
|
||||
Object.unobserve()用来取消监听。
|
||||
Object.unobserve方法用来取消监听。
|
||||
|
||||
```javascript
|
||||
|
||||
@ -346,4 +346,4 @@ Object.unobserve(o, observer);
|
||||
|
||||
```
|
||||
|
||||
注意,Object.observe()和Object.unobserve()这两个方法不属于ES6,而是属于ES7的一部分,Chrome 36已经开始支持了。
|
||||
注意,Object.observe和Object.unobserve这两个方法不属于ES6,而是属于ES7的一部分,Chrome 36已经开始支持了。
|
||||
|
Loading…
x
Reference in New Issue
Block a user