javascript的密封对象之seal(),isSealed()方法
16lz
2021-01-22
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
更多相关文章
- 如何使函数等到对象的值未定义为js setTimeout
- JavaScript String(字符串对象)
- AngularJS(1.5.8) - 如何直接从获取json对象的控制器中填充选择选
- 使用append方法将对象转换为字符串
- jQuery和AJAX - 使用Ajax添加的对象动态不适用于jQuery函数?
- 从特定条件下存储在localStorage中的数组中删除对象?
- javascript小技巧&&JavaScript[对象.属性]集锦 [转载了多篇]
- Angular使用jQuery插件与外部控制器中的对象
- 【Python】【matplotlib】面向对象方式绘图