ECMAScriptjavascript的防篡改目标的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;

ECMAScript, 示例四: 

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