JS学习进阶中 come on!

时间:2023-03-08 16:56:50
JS学习进阶中 come on!

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();冻结该对象,不能添加属性,不能修改已有属性

      基础功能了解,更深的用处还需多实践,看别人的代码,加油!