关于defineProperty的value

> var a = {}

> Object.defineProperty(a, "b", {

... value: 110})

{}

> a

{}

> a.b

110

> a.b = 555

555

> a.b

110


> var aa = {b: 1}

undefined

> Object.defineProperty(aa, "b", {

... value: 119})

{ b: 119 }

> aa.b

119

> aa.b = 1

1

> aa.b

1

为什么aa.b可更改,a.b不能?

MM们
浏览 436回答 1
1回答

FFIVE

属性描述符有三个属性分别是 configurable enumerable writable,默认值均为 false而使用对象字面量定义的属性描述符均为 true,可以通过 Object.getOwnPropertyDescriptor(a, 'b') 及 Object.getOwnPropertyDescriptor(aa, 'b') 来获取两个属性的描述符。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript