定义和分配属性之间的区别

时间:2013-07-18 16:34:18

标签: javascript

为对象分配属性和定义属性有什么区别?哪一个更好,又如何?

:此

 Object.defineProperty(obj,p,propDesc)

或者只是

 obj.p="someValue";

2 个答案:

答案 0 :(得分:2)

Object.defineProperty可让您设置有关该属性的一大堆选项。与enumerablewritable一样。

执行obj.p = 'something';时,您正在使用“默认”选项设置属性。

两者都没有“更好”,它们各自都有自己的用途。您使用哪一个取决于您的要求。

答案 1 :(得分:0)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty

上找到

” 该方法允许精确地添加或修改对象上的属性。通过赋值添加的正常属性会创建在属性枚举期间显示的属性(对于... in循环或Object.keys方法),其值可能会更改,并且可能会被删除。此方法允许从默认值更改这些额外的详细信息。“