你的位置:首页 > Java教程

[Java教程]防篡改对象


1.不可扩展对象:Obeject.preventExtensions()

var pp={name:'wehweh'};Object.preventExtensions(pp)Object {name: "wehweh"}pp.age=2323ppObject {name: "wehweh"}

 

ps:这个方法可以改变name也可以删除name但是就是不能扩展属性

  检查是否可以扩展属性的方法:isExtensible()

 

2.密封对象:Object.seal()

var ps={name:'wewe'};undefinedObject.seal(ps)Object {name: "wewe"}ps.age=2323psObject {name: "wewe"}delete ps.namefalsepsObject {name: "wewe"}

ps.name="hh"
"hh"
ps
Object {name: "hh"}


ps:不可以扩展属性,也不可以删除 ,但是可以修改

  Objece.seal()方法可以确定对象是否密封了

3.冻结对象Object.freeze()

var person={name:'leiwenwen'};undefinedObject.freeze(person)Object {name: "leiwenwen"}person.age=2222personObject {name: "leiwenwen"}delete person.namefalsepersonObject {name: "leiwenwen"}person.name="wenwen""wenwen"personObject {name: "leiwenwen"}

 ps:Object.freeze():不可以扩展属性,也不可以删除跟修改现有的属性

  isFrozen()方法可以确定对象是否冻结了