js防篡改对象

来源:互联网 发布:网络代销怎么做 编辑:程序博客网 时间:2024/05/21 18:45

1、不可扩展对象 Object.preventExtensions

// 下面代码在谷歌浏览器中执行

> var person = {name: 'wdd'};

undefined

> Object.preventExtensions(person);

Object {name: "wdd"}

> person.age = 10

10

> person

Object {name: "wdd"}

> Object.isExtensible(person)

false

2、 密封对象Object.seal

 密封对象不可扩展,并且不能删除对象的属性或者方法。但是属性值可以修改。

> var one = {name: 'hihi'}

undefined

> Object.seal(one)

Object {name: "hihi"}

> one.age = 12

12

> one

Object {name: "hihi"}

> delete one.name

false

> one

Object {name: "hihi"}

3 冻结对象 Object.freeze

最严格的防篡改就是冻结对象,对象不可扩展,而且密封,不能修改。只能访问。