iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript 防篡改对象的用法示例
  • 602
分享到

JavaScript 防篡改对象的用法示例

2024-04-02 19:04:59 602人浏览 薄情痞子
摘要

目录javascript防篡改对象1、不可扩展对象2、密封的对象3、冻结的对象javascript防篡改对象 这个东西吧,用到的很少,个人感觉用处不大,但是,可以作为装逼的利器,哈

javascript防篡改对象

这个东西吧,用到的很少,个人感觉用处不大,但是,可以作为装逼的利器,哈哈,开搞。。

1、不可扩展对象

默认情况下对象都是可以扩展的,也就是说,任何时候都可以向对象中添加属性和方法。现在使用Object.preventExtensions(object)方法可以改变这个行为,让你不能再给对象添加属性和方法。例如:


var person={name : 'jack'};
Object.preventExtensions(person);
person.age=13;
console.log(person.age);///undefine

虽然不能给对象添加新成员,但是已有的成员则丝毫不受影响,你仍然可以修改和删除自己的已有的成员。另外使用isExtensible()方法还可以确定对象是否可以扩展。例如:


var person={name : 'jack'};
alert(Object.isExtensible(person));//true

Object.preventExtensions(person);
alert(Object.istExtensible(person));//false

2、密封的对象

ECMAScript 5 为对象定义的第二个保护级别是密封对象。使用Object.seal(object)方法可以将对象改为密封对象。密封对象不可扩展,而且已有成员的[[configurable]]特性将被设置为false。这就意味着不能删除属性和方法,因为不能使用Object.defineProperty()把数据修改为访问其属性,或者相反。但是属性值是可以修改的。


var person = {name:'tom'};
Object.seal(person);
person.age=12;
console.log(person.age);//undefine

delete person.name;
console.log(person.name);//tom

person.name="jack";
alert(person.name);//jack

使用Object.isSealed()方法可以确定对象是否被密封了,因为被密封的对象也是不可扩展的,所以使用Object.istExtensible()检测密封对象也会返回false(即不可扩展)


var person = {name:'tom'};
alert(Object.isExtensible(person));///true,可扩展
alert(Object.isSealed(person));////false,未加密
               
Object.seal(person);
alert(Object.isExtensible(person));///false,不可扩展
alert(Object.isSealed(person));////true,已经加密

3、冻结的对象

最严格的的防止篡改级别的是冻结对象,冻结的对象既不可扩展,又是密封的,而且对象的数据属性的[[Writable]]特性会被设置为false,如果定义set函数,访问器属性仍然是可写的,现在使用Object.freeze(object)方法可以将对象改为冻结的对象。


var person={name : 'tony'};
Object.freeze(person);
person.age=12;
alert(person.age);//undefine

delete person.name;
alert(person.name);//tony

person.name = 'jack';
alert(person.name);//tony

使用Object.isFrozen()方法可以检测对象是否是冻结对象,因为冻结对象既是不可扩展对象,又是密封的对象,所以用isExtensible()
和Object.istExtensible()检测冻结对象将分别返回false和true,


var person = {name:'tom'};
alert(Object.isExtensible(person));///true,可扩展
alert(Object.isSealed(person));////false,未加密
alert(Object.isFrozen(person));////false,未加密
               
Object.seal(person);
alert(Object.isExtensible(person));///false,不可扩展
alert(Object.isSealed(person));////true,已经加密
alert(Object.isFrozen(person));////true,已经冻结

以上就是JavaScript 防篡改对象的用法示例的详细内容,更多关于JavaScript 防篡改对象的资料请关注编程网其它相关文章!

--结束END--

本文标题: JavaScript 防篡改对象的用法示例

本文链接: https://www.lsjlt.com/news/124445.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript 防篡改对象的用法示例
    目录javascript防篡改对象1、不可扩展对象2、密封的对象3、冻结的对象javascript防篡改对象 这个东西吧,用到的很少,个人感觉用处不大,但是,可以作为装逼的利器,哈...
    99+
    2024-04-02
  • JavaScript中防篡改对象的示例分析
    小编给大家分享一下JavaScript中防篡改对象的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript是一种什么语言javascript是...
    99+
    2023-06-14
  • javascript如何实现防篡改对象
    小编给大家分享一下javascript如何实现防篡改对象,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体如下:JavaScri...
    99+
    2024-04-02
  • JavaScript对象、对象属性、对象方法的示例分析
    这篇文章主要介绍JavaScript对象、对象属性、对象方法的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!JavaScript 变量是数据值的容器。 这段代码把一个单一值...
    99+
    2024-04-02
  • 拿捏javascript对象增删改查应用及示例
    目录什么是对象?为什么需要对象?创建对象的三种方式利用对象字面量创建对象利用new关键字创建对象利用构造函数创建对象new关键字的执行过程对象属性的增删改查(和py的字典类似)增删改...
    99+
    2024-04-02
  • JavaScript对象的示例分析
    这篇文章将为大家详细讲解有关JavaScript对象的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、构造函数为什么使用构造函数什么是构造函数:是JavaScr...
    99+
    2024-04-02
  • javascript中location对象方法的示例分析
    这篇文章将为大家详细讲解有关javascript中location对象方法的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。javascript是一种什么语言javascript是一种动态类型、弱类...
    99+
    2023-06-14
  • javascript中History对象的示例分析
    这篇文章主要为大家展示了“javascript中History对象的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript中History对...
    99+
    2024-04-02
  • Javascript事件对象的示例分析
    小编给大家分享一下Javascript事件对象的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如果是事件处理函数绑定的函...
    99+
    2024-04-02
  • javascript中Date对象的示例分析
    小编给大家分享一下javascript中Date对象的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MDN官网介绍set...
    99+
    2024-04-02
  • VB.NET对象列表的用法示例
    这篇文章主要介绍了VB.NET对象列表的用法示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。VB.NET对象列表***步是要创建一个同用列表。你可以从多种途径获取数据,但是...
    99+
    2023-06-17
  • javascript创建对象的示例分析
    这篇文章给大家分享的是有关javascript创建对象的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 创建方法:1、使用“var 对象名={...
    99+
    2024-04-02
  • JavaScript中Function对象语法的实例用法
    本篇内容主要讲解“JavaScript中Function对象语法的实例用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript中Function对...
    99+
    2024-04-02
  • JavaScript中Array对象基本方法的示例分析
    这篇文章主要为大家展示了“JavaScript中Array对象基本方法的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中Array对...
    99+
    2024-04-02
  • JavaScript对象引用与赋值的示例分析
    小编给大家分享一下JavaScript对象引用与赋值的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体如下:<script type="text/jav...
    99+
    2024-04-02
  • JavaScript中数组对象的示例分析
    这篇文章主要为大家展示了“JavaScript中数组对象的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript中数组对象的示例分析”这篇文...
    99+
    2024-04-02
  • JavaScript中代理对象的示例分析
    这篇文章主要介绍JavaScript中代理对象的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!JavaScript 支持 setters 和 getters 已经很长时间了。他们用带有 set 和 get &...
    99+
    2023-06-15
  • JavaScript中变量对象的示例分析
    这篇文章主要介绍JavaScript中变量对象的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、变量对象在函数上下文中,我们用活动对象(activation object, AO)来表示变量对象。活动对象和...
    99+
    2023-06-14
  • JavaScript字符串对象的示例分析
    这篇文章主要介绍了JavaScript字符串对象的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。JavaScript 对象是一种复合...
    99+
    2024-04-02
  • JavaScript对象解构的用法实例解析
    目录前言使用解构从对象中获取值使用解构从嵌套对象中获取值使用对象解构定义一个新变量以及默认值默认值新变量使用 JavaScript 对象解构别名使用对象解构处理动态名称属性在函数参数...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作