为了账号安全,请及时绑定邮箱和手机立即绑定

getComputedStyle获得对象的属性不同浏览器下可枚举问题

getComputedStyle获得对象的属性不同浏览器下可枚举问题

陪伴而非守候 2018-10-25 14:09:29
html:<div id="myEle"></div>js:var obj=window.getComputedStyle(document.getElementById("myEle"),null);console.log(obj.propertyIsEnumerable("width")); //火狐显示false。而chrome显示true想请教:1.w3c标准里规定它的那些css属性名作为键名的是否是可枚举的2.我想深拷贝obj 如何是好,由于那些width height什么的都不可枚举了。导致比较常见的套路比如JSON.stringify(obj) 出来的东西都不包含这些了。而Object.create(obj)出来的新对象newObj里一片空白,只是在__proto__里包含了CSSStyleDeclaration对象
查看完整描述

1 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

仅供参考

  1. w3c标准应该是不会规定哪些属性是可枚举,哪些属性是不可枚举的,这个因该是浏览器实现的时候出现差异化的原因。为啥说w3c不回规定属性的可枚举性呢?因为没必要,一般都是去get某个或某些属性的值,而非得到全部。

  2. 深拷贝虽然没被禁止,但程序员基本都已达成共识--尽可能不要做深拷贝操作。


查看完整回答
反对 回复 2018-11-04
  • 1 回答
  • 0 关注
  • 464 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号