javascript的密封对象之seal(),isSealed()方法

EcmaScrip5t中出现了密封对象概念.密封对象不可扩展,而已有的成员的[Configurable]特性被设置为false.也就是说属性和方法是不能删除的.但是是可以修改的.

示例一:

var person={name:"guo"}; 
Object.seal(person);//密封对象
person.age=29;
alert(person.age);//======>undefined
delete person.name;
alert(person.name);//guo
person.name="yansi";
alert(person.name);//yansi

使用isSealed()可以确定对象是否被密封了.因为对象不可扩展,所以isExtensible()检测会返回false;

示例二:

1 var person={name:"guo"}; 
2 alert(Object.isSealed(person));//======>false
3 Object.seal(person);
4 alert(Object.isSealed(person));//======>true
5 alert(Object.isExtensible(person));//======>false

 

你可能感兴趣的:(JavaScript)