在
Object.create的用法中你想设置为可枚举为真吗?
解决方法
如果希望在遍历所有对象属性时能够访问对象的属性,则该属性应该是可枚举的.例:
var obj = {prop1: 'val1',prop2:'val2'}; for (var prop in obj){ console.log(prop,obj[prop]); }
在这种类型的实例化中,enumerable始终为true,这将为您提供以下输出:
prop1 val1 prop2 val2
如果您将使用Object.create(),如下所示:
obj = Object.create({},{ prop1: { value: 'val1',enumerable: true},prop2: { value: 'val2',enumerable: false} });
你的for循环只能访问prop1,而不是prop2.使用Object.create()默认情况下,属性设置为enumerable = false.
原文地址:https://www.jb51.cc/js/150956.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。