标签:
1. 属性类型
数据属性
①Configurable 表示能否通过delete删除属性,默认值true
②Enumerable 表示能否通过for-in循环访问属性,默认值true
③Writable 表示能否修改属性的值,默认值true
④Value 包含这个属性的默认值,默认值Undefined.
var person = {}; Object.defineProperty(person, ‘name‘, { configurable: false, value: ‘Nicholas‘ } ); alert(person.name); delete person.name; alert(person.name);
访问器属性
①set 在写入属性时调用的函数
②get 在读取属性时调用的函数
var book = { _year: 2004, edition: 1 }; Object.defineProperty(book,‘year‘,{ get: function(){ return this._year; }, set: function(newValue){ if(newValue > 2004){ this._year = newValue; this.edition += newValue - 2004; } } }); book.year = 2005; alert(book.edition); //2
标签:
原文地址:http://www.cnblogs.com/shaoshao/p/4595104.html