最新发现:Object.defineProperty()让数组的length属性变成只读
Posted SkyTeam_LBM
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最新发现:Object.defineProperty()让数组的length属性变成只读相关的知识,希望对你有一定的参考价值。
将属性添加到对象, 或修改现有属性的特性---MSDN的解释.
语法
object.defineProperty(object, propertyname, descriptor)
object: 必须. 要修改的属性的对象.
propertyname : 必须. 属性名称.
descriptor: 必须. 属性描述符. 他可以针对数据属性或访问器属性.
返回值: 已修改的对象.
可以使用object.defineProperty()执行以下操作:
1.向对象添加新属性. 当对象不具有指定的属性名称时, 发生此操作.
2.修改现有属性的特性. 当对象已具有指定的属性名称时, 发生此操作.
修改数据属性
1 var b = [1, 2, 3]; 2 Object.defineProperty(b, "length", {writable: false}); //让length变成可读属性 3 b.length = 0; 4 console.log(b.length);
添加数据属性
1 var newLine = "<br/>"; 2 var obj = {}; 3 Object.defineProperty(obj, "newDataProperty", { 4 value:101, 5 writable:true, 6 enumerable:true, 7 configurable:true 8 }); 9 obj.newDataProperty = 102; 10 document.write("Property value: " + obj.newDataProperty + newLine);
以上是关于最新发现:Object.defineProperty()让数组的length属性变成只读的主要内容,如果未能解决你的问题,请参考以下文章