最新發現: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);
相關文章
相關標籤/搜索