面相对象一之定义属性
//定义一个属性,并进行相关的描述
var obj = {};
var obj = {};
Object.defineProperty(obj,"name",{
value : "QIng",
writable : false,//是否可写
enumerable : false,//是否可以枚举,是否可以通过for in循环打印
configurable : false//是否可以配置,例如删除
});
console.log(obj);//Object {name: "QIng"}
//对属性进行修改
obj.name = "mrLi";
console.log(obj);//Object {name: "QIng"} 只读属性,修改失败
for(var attr in obj) {
console.log("属性是" + attr); //为空 不可以枚举出enumerable是false的属性
}
delete obj.name;
console.log(obj); //无法删除,因为configurable 是false