美文网首页
JavaScript防篡改对象

JavaScript防篡改对象

作者: 春风本是人间客 | 来源:发表于2020-06-30 14:47 被阅读0次

preventExtensions:不能增,能删改
seal:不能增删,能改
freeze:不能增删改

对象属性
preventExtensions X
seal X X
freeze X X X

不可扩展对象preventExtensions

Object.preventExtensions不能增,能删改

var obj = {a:1,b:2};
Object.preventExtensions(obj);
obj.c = 3;
console.log(obj.c); // undefined
delete obj.a;
console.log(obj); // {b: 2} 删除成功
obj.b = 'hello'
console.log(obj); // {b: "hello"} 修改成功

检测是否不可扩展Object.isExtensible(obj)

(false是不可扩展,true是正常对象)

Object.isExtensible(obj);// false

密封的对象seal

Object.seal不能增删,能改

var obj = {a:1,b:2};
Object.seal(obj);
obj.c = 3;
console.log(obj.c); // undefined
delete obj.a;
console.log(obj); // {a:1,b:2} 删除失败
obj.b = 'hello'
console.log(obj); // {a:1,b: "hello"} 修改成功

检测是否密封Object.isSealed(obj)

(false是正常,true是已经密封了)

Object.isSealed(obj);// true

冻结的对象freeze

Object.freeze不能增删改

var obj = {a:1,b:2};
Object.freeze(obj);
obj.c = 3;
console.log(obj.c); // undefined
delete obj.a;
console.log(obj); // {a:1,b:2} 删除失败
obj.b = 'hello'
console.log(obj); // {a:1,b:2} 修改失败

检测是否冻结Object.isFrozen(obj)

(false是正常,true是已经冻结了)

Object.isFrozen(obj);// true

相关文章

  • JavaScript防篡改对象

    preventExtensions:不能增,能删改seal:不能增删,能改freeze:不能增删改 对象属性增删改...

  • JavaScript 防篡改对象

    开发过程中,每个开发者定义的对象可能不想要被别的开发者所重写或者新增对象属性,这时候可以将对象变为防篡改对象,当然...

  • 高级技巧

    本章内容:使用高级函数、防篡改对象、Yielding with Timers JavaScript 是一种极其灵活...

  • 深度分析JavaScript创建防篡改对象的

    本文实例讲述了JavaScript创建防篡改对象的方法。分享给大家供大家参考,具体如下: 之前的 JavaScri...

  • 无标题文章

    一、为什么需要引入防篡改对象? 1. 为什么?JavaScript 共享的本质一直是开发人员心头的痛,因为任何对象...

  • 防篡改对象

    1、不可拓展对象 使用Object.preventExtensions(obj)方法,阻止对obj添加属性或方法,...

  • JS防篡改对象

    防篡改对象 JS是若类型语言,变量和对象都可以被同一个运行环境中的代码修改掉;开发人员很可能会意外地修改别人的代码...

  • JS防篡改对象

    1. 一级保护措施:不可扩展对象 在默认情况下,所有对象都是可以扩展的,也就是说,无论什么时候都可以向对象中添加属...

  • JavaScript 高级用法

    内容来自:《JavaScript高级程序设计》、MDN 1、防止篡改对象 限制对象扩展:Object.preven...

  • 防篡改对象:preventExtensions(),seal()

    不可扩展对象isExtensions:不可以给对象再添加新属性和方法了,但是可以修改和删除已有的成员。 密闭的对象...

网友评论

      本文标题:JavaScript防篡改对象

      本文链接:https://www.haomeiwen.com/subject/ajrxqktx.html