1,定义新的属性来扩展对象
新方法:defineProperty()
实例:
var data = {};
Object.defineProperty(data,"type",{
value: "primary", //设置初始值,不能改变,删除,
enumerable: true //可枚举
});
console.log(data.type); //primary
特点:给对象添加一个属性而不直接赋值,使我们对于对象的行为和状态有了某些控制,
扩展总结: 限制——>
1,Object.preventExtensions(obj); 不允许给一个对象添加新的属性
if(Object.isExtensible(obj)){ //判断是否对象可扩展
//扩展对象
}
2,object.seal();阻止对属性描述符的修改,且不允许添加新属性
3,Object.freeze();冻结该对象,不能添加属性,不能修改已有属性
基础功能了解,更深的用处还需多实践,看别人的代码,加油!