您的位置:首页 > Web前端 > JavaScript

js高级技巧之防篡改对象

2017-01-08 14:48 453 查看
由于js共享的本质,开发人员很可能会意外地修改别人的代码。所有ECMAScript5可以定义防纂改对象。

注意:一旦把对象定义为防篡改,就无法撤销了。

防篡改对象有三个级别,分别是不可拓展对象、密封对象冻结对象

1.不可扩展对象

Object.preventExtensions(person);//设置为防拓展对象

设置成不可扩展对象就不能再给对象添加属性和方法了。

Object.isExtensible(person);//用来确定对象是否可扩展。


2.密封对象

在不可扩展对象的基础上,又进一步加深了防篡改程度。

Object.seal(person);//将对象密封


这样使得不能删除属性和方法。

Object.isSealed(person);

检测对象是否被密封。

3.冻结的对象

在密封对象的基础上,又进一步加深了防篡改的程度。

Object.freeze(man);

这样使得不能修改属性和方法。

Object.isFrozen(man)

用来检测是否被冻结了。

对于js库作者而言,冻结对象很有用。冻结对象能防止人意外地修改库中的核心对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: