摘要: 最严格的对象保护措施就是冻结对象了.冻结过后的对象,即不可以扩展,原有对象也不可以删除,因为[Writable]=false,所以对象的属性不可修改.示例一:1 var person={name:"guo"}; 2 Object.freeze(person);3 person.age=29;//添加成员4 alert(person.age);//undefined5 delete person.name;//删除已有成员6 alert(person.name);//guo7 ... 阅读全文
posted @ 2014-03-04 11:51 思思博士 阅读(844) 评论(0) 推荐(0) 编辑
摘要: EcmaScrip5t中出现了密封对象概念.密封对象不可扩展,而已有的成员的[Configurable]特性被设置为false.也就是说属性和方法是不能删除的.但是是可以修改的.示例一:var person={name:"guo"}; Object.seal(person);//密封对象person.age=29;alert(person.age);//======>undefineddelete person.name;alert(person.name);//guoperson.name="yansi";alert(person.name);/ 阅读全文
posted @ 2014-03-04 11:39 思思博士 阅读(639) 评论(0) 推荐(0) 编辑
摘要: js在默认情况下,所有的对象都是可扩展的.这也是让很多开发人员头特疼的问题.因为在同一环境中,一不小心就会发生修改了不必要的对象,而自己却不知道.在ECMAScript5可以解决这种问题了.preventExtensions():经过这个方法处理过的对象,不影响原有对象的删除,修改.但是无法添加新的属性成员了.示例一:1 var person={name:"guo"};//申明一个对象2 person.age=23;//扩展对象3 alert(person.age);//======>23示例二:1 var person={name:"guo"}; 阅读全文
posted @ 2014-03-04 10:30 思思博士 阅读(1147) 评论(0) 推荐(0) 编辑