最新发现:Object.defineProperty()让数组的length属性变成只读

将属性添加到对象, 或修改现有属性的特性---MSDN的解释.spa

语法code

object.defineProperty(object, propertyname, descriptor)对象

object: 必须. 要修改的属性的对象.blog

propertyname : 必须. 属性名称.ip

descriptor: 必须. 属性描述符. 他能够针对数据属性或访问器属性.it

返回值: 已修改的对象.console

可使用object.defineProperty()执行如下操做:table

1.向对象添加新属性. 当对象不具备指定的属性名称时, 发生此操做.class

2.修改现有属性的特性. 当对象已具备指定的属性名称时, 发生此操做.object

修改数据属性

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);
相关文章
相关标签/搜索