相关疑难解决方法(0)

为什么我不能在Javascript对象中重新定义属性?

我正在创建一个对象Object.create,我想为它添加属性.

> var o = Object.create({});
undefined

> Object.defineProperty(o, "foo", {value: 43, enumerable: true});
{foo: 43}

> o
{foo: 43}

> o.foo
43

> for (var i in o) { console.log(i); }
foo

> Object.keys(o)
['foo']

> Object.defineProperty(o, "foo", {value: 43, enumerable: false });
TypeError: Cannot redefine property: bar
Run Code Online (Sandbox Code Playgroud)

Q1)为什么我不能重新定义财产?

> o.__proto__
{}

> o.prototype
undefined
Run Code Online (Sandbox Code Playgroud)

Q2)为什么原型是空的?为什么这两个值不同,即{}vs undefined

javascript

37
推荐指数
4
解决办法
3万
查看次数

标签 统计

javascript ×1