ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码

关于Object.observe的浅析

来源:网络整理     时间:2014-11-24     关键词:Object.observe

本篇文章主要介绍了"关于Object.observe的浅析",主要涉及到Object.observe方面的内容,对于Javascriptjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:

Object.observe()是未来ECMAScript标准之一,它是一个可以异步观察Javascript中对象变化的方法,而无需你去使用一个其他的JS库。它允许一个观察者接收一个按照时间排序的变化记录序列,这个序列描述的是一列被观察的对象所发生的变化。

今天看到了  Object.observe 这个方面,感觉不错,这里就来简单介绍下。
 
Object.observe 这个方法 可以监听到 某个 对象的属性改变情况。使用方法如下

Object.observe(user,function(changes){
    //code 

   console.log(changes);

});
当  user 的属性发生变化,update,delete,add 时,都会触发该函数。
注意 :只有user该对象的属性变化才会触发函数,user的 prototype 的改变和 delete user 是不会触发的。

还有一点要注意的是:这个函数什么时候执行呢? 并不是改变属性就马上执行,而是当主线程其他代码执行完后才会执行。

wwwww
 
 user={};

Object.observe(user,function(changes){

   document.getElementById('test_1').innerHTML="qqqqq";

});

user.a=0;

console.log(document.getElementById('test_1').innerHTML); 
 
如果 是马上执行 那么,后来的 log  应该打出 qqqqq ,但结果却是 wwwww。

这一点还是蛮坑的,,,,,, 

函数中的 changes 表示的是 所有改变的内容


 是按 改变顺序进行排序的。  name 是 属性名, type 是改变方式(add,update,delete)。object  是 user 对象现在的值(这太坑了,,,不能实施获得对象的值)。 
PS: 连续2次给同一个属性赋同一个值是不会增加 change 的。

心得:这个函数不能及时反映对象的改变状况还是满坑的,并且次函数也不是被那么多浏览器支持。

以上就介绍了关于Object.observe的浅析,包括了Object.observe方面的内容,希望对Javascriptjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_95046.html

相关图片

相关文章