Object.defineProperty的用途是什么,如果我也可以做得更简单?

时间:2013-04-01 17:32:31

标签: javascript defineproperty

Object.defineProperty的用途是什么......

var myObj = {someNum: 123};
Object.defineProperty(myObj, "anotherNum",
{value: 456, writable: true, enumerable: true, configurable: true});
alert(myObj.someNum + " " + myObj.anotherNum);

...如果我也可以......

var myObj = {someNum: 321};
myObj.anotherNum = 654;
alert(myObj.someNum + " " + myObj.anotherNum);

jsfiddle over here

1 个答案:

答案 0 :(得分:5)

应该很清楚:.defineProperty()方法可以控制如何访问属性。当您只是向对象添加属性时,它始终是可写的,可枚举的和可配置的。

.defineProperty()方法还允许您设置getter和setter函数。