首页 > 代码库 > javascript 对象的可扩展性详解

javascript 对象的可扩展性详解

      javascript 对象中的可扩展性指的是:是否可以给对象添加新属性。所有的内置对象和自定义对象显示的都是可扩展的,对于宿主对象,则有javascript 引擎决定。

      下面有几个函数是设置对象的可扩展性:

      1、Object.isExtensible(Object); 检查对象是否可以扩展。

      2、Object.preventExtensions(Object) 设置对象不可扩展,也就是不能添加新的属性,但如果该对象的原型,添加了新的属性,那么该对象也将继承该属性。

      3、Object.seal(Object);它除了可以设置对象的不可扩展,还可以设置对象的自有属性都设置为不可配置的,不能删除和配置。对于它已经有的可写属性依然可以设置。

     4、Object.isSealed(Object); 检查对象是否封闭。

    5、Object.freeze();更严格的锁定对象(冻结)。除了将对象设置为不可扩展,属性设置为不可配置,所有的自有属性设置为只读的,(如果对象存储器属性有setter方法,存储器属性不受影响,依然可以通过属性赋值给他们)。

    6、Object.isFrozen() 来检测对象是否冻结。

javascript 对象的可扩展性详解