And*_*dez 10

如果希望在遍历所有对象属性时能够访问对象的属性,则该属性应该是可枚举的.例:

var obj = {prop1: 'val1', prop2:'val2'};
for (var prop in obj){
  console.log(prop, obj[prop]);
}
Run Code Online (Sandbox Code Playgroud)

在这种类型的实例化中,enumerable始终为true,这将为您提供以下输出:

prop1 val1
prop2 val2
Run Code Online (Sandbox Code Playgroud)

如果您将使用Object.create(),如下所示:

obj = Object.create({}, { prop1: { value: 'val1', enumerable: true}, prop2: { value: 'val2', enumerable: false} });
Run Code Online (Sandbox Code Playgroud)

你的for循环只能访问prop1,而不是prop2.使用Object.create()默认情况下,属性设置为enumerable = false.