通过ECMAScript 3创建的属性都是可写的、可枚举的、可配置的。
在ECMAScript 5中,数据属性的4个特性分别是它的值、可写性、可枚举性、可配置性。存取器属性的特性是读取、写入、可枚举性、可配置性。
Object.getOwnPropertyDescriptor("p",x);//查询p对象的x属性,返回例如{get:/*func*/,set:undefined,enumerable:true,configurable:true}
Object.definedProperty(o,"x",{value:10});//相当于o.x=10
定义了一个包含两个数据属性和一个只读存取器属性:
var p = Object.definedProperties({},{
x:{value:10,writable:true,enumerable:true,confugurable:true},
y:{value:10,writable:true,enumerable:true,confugurable:true},
r:{
get : function(){
return Math.sqrt(this.x*this.x + this.y*this.y);
},
enumerable:true,
confugurable:true
}
});
page 150...