javascript的防篡改对象之preventExtensions()方法

js在默认情况下,所有的对象都是可扩展的.这也是让很多开发人员头特疼的问题.因为在同一环境中,一不小心就会发生修改了不必要的对象,而自己却不知道.

在ECMAScript5可以解决这种问题了.

preventExtensions():经过这个方法处理过的对象,不影响原有对象的删除,修改.但是无法添加新的属性成员了.

示例一:

1 var person={name:"guo"};//申明一个对象
2 person.age=23;//扩展对象
3 alert(person.age);//======>23

示例二:

1 var person={name:"guo"}; 
2 Object.preventExtensions(person);//用于处理对象,让它无法被扩展了.
3 person.age=23;
4 alert(person.age);//======>undefined
5             

示例三: 

1 "use strict";//严格模式
2 var person={name:"guo"}; 
3 Object.preventExtensions(person);//用于处理对象,让它无法被扩展了
4  /*
5     严格模式下,扩展无法扩展的对象会报错,非严格模式下,保持沉默
6   */
7 person.age=23;

 示例四: 

1 var person={name:"guo"}; 
2 /*
3 isExtensible();判断是否被限制扩展
4 返回true:没有限制
5 返回false:有限制
6 */
7 alert(Object.isExtensible(person));//====>true.
8 Object.preventExtensions(person);//用于处理对象,让它无法被扩展了
9  alert(Object.isExtensible(person));//=====>false

javascript的防篡改对象之preventExtensions()方法,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。