变量属性=“;测试”;vs Object.defineProperty(变量,“Property”)
variable.Property = "test" vs Object.defineProperty(variable,"Property")
如果我想给变量a
一个属性P
(非访问器属性)和,我不在乎它是否可配置/可枚举/可写。
我可以100%确信,事实上(在你能想到的所有方面)简单地进行更有益
a.P=value // or
a["P"]=value
而不是使用
Object.defineProperty
因此,基本上,我们不应该接触Object.defineProperty
,除非我们需要创建访问器和/或我们想控制属性的可配置/可写/可枚举状态?
我不会说它"更有益",但它们在功能上是相同的:
a.p = value;
Object.defineProperty(a, 'p', {
enumerable : true,
writable : true,
configurable : true,
value : value
});
显然,后者要详细得多,如果你定义了许多属性,那么慢得多(在Chrome中大约慢1000倍):
http://jsperf.com/setting-object-properties
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 将PHP变量传递给jQuery时遇到问题
- 如何通过ajax刷新JSF填充的javascript变量
- 参数变量出现ngTable指令问题
- 通过javascript重定向html传递php变量
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 全局变量和全局对象的属性之间有什么区别吗
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- $(this).prop('property') vs. this.property
- 值对象在某个变量发生更改后发生更改
- Javascript变量赋值|
- AngularJS-在JSON选择器中使用变量名
- Javascript计数器变量未显示正确的值
- delete关键字在全局变量上的不同行为
- 如何在php变量中嵌入JQuery代码
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 在javascript函数中设置全局变量
- 变量属性=“;测试”;vs Object.defineProperty(变量,“Property”)