Object.observe监控对象在Chrome下可用

2024-03-17    分类: 网站建设

在以前的文章中介绍过DOM4的MutationObserver,它可以用来监视DOM元素的属性变化。在目前最新的稳定版Chrome中(Chrome26)已经可以使用Object.observe来监视一般JavaScript对象了。但也只对值属性有用,对访问器属性的结果依然无力。 运行<script> var o={}; //为对象o添加属性操作监视 Object.observe(o,function(changies){ console.log(changies); }); o.p=1; //添加属性 o.p=1; //值没变,不会触发 o.p=2; //更新属性值 delete o.p; //删除属性 </script>

但如果用于访问器属性或有其它特性的属性情况就不同了 运行<script> var p; var o={ get p(){return p;}, set p(v){p=v;} }; //为对象o添加属性操作监视 Object.observe(o,function(changies){ console.log(changies); }); o.p=123; //访问器属性操作,不会触发 console.log(o.p);

Object.defineProperty(o,"x",{value:1}); //添加属性,会触发

//因为x属性是只读且不可配置的,所以写和删除操作都无效,不会触发 o.x=123; delete o.x; </script> 所以我们依然无法使用Object.observe来监控DOM控件的即时变化,因为读取控件值的属性都是访问器属性。

当前标题:Object.observe监控对象在Chrome下可用
文章出自:/news14/320464.html

成都网站建设公司_创新互联,为您提供企业建站域名注册网站排名建站公司定制网站营销型网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作