防篡改对象
2016-08-08 17:12 改吧 阅读(233) 评论(0) 编辑 收藏 举报1.不可扩展对象:Obeject.preventExtensions()
var pp={name:'wehweh'}; Object.preventExtensions(pp) Object {name: "wehweh"} pp.age=23 23 pp Object {name: "wehweh"}
ps:这个方法可以改变name也可以删除name但是就是不能扩展属性
检查是否可以扩展属性的方法:isExtensible()
2.密封对象:Object.seal()
var ps={name:'wewe'}; undefined Object.seal(ps) Object {name: "wewe"} ps.age=23 23 ps Object {name: "wewe"} delete ps.name false ps Object {name: "wewe"}
ps.name="hh"
"hh"
ps
Object {name: "hh"}
ps:不可以扩展属性,也不可以删除 ,但是可以修改
Objece.seal()方法可以确定对象是否密封了
3.冻结对象Object.freeze()
var person={name:'leiwenwen'}; undefined Object.freeze(person) Object {name: "leiwenwen"} person.age=22 22 person Object {name: "leiwenwen"} delete person.name false person Object {name: "leiwenwen"} person.name="wenwen" "wenwen" person Object {name: "leiwenwen"}
ps:Object.freeze():不可以扩展属性,也不可以删除跟修改现有的属性
isFrozen()方法可以确定对象是否冻结了