首页 > 编程语言 > 详细

JavaScript学习笔记(六)防篡改对象

时间:2019-04-26 23:24:36      阅读:143      评论:0      收藏:0      [点我收藏+]

1. 不可扩展对象

可写,可删除,不可新增

Object.preventExtensions(obj)
Object.isExtensible(obj)

2. 密封对象

可写,不可删除,不可新增, [[Configurable]]设置为false

Object.seal(obj)
Object.isSealed(obj)

3. 冻结对象

不可写,不可删除,不可新增, [[Configurable]]设置为false, [[Writable]]为false

Object.freeze(obj)
Object.isFrozen(obj)

 

扩展:

对象属性的[[Configurable]]特性为false时,表示不能再用Object.defineProperty(obj, prop, descriptor)修改对象属性的特性了。

对象属性的特性描述:

{
  value: 任意类型的值, //
  enumerable: Boolean, // 是否可枚举(for...in或Object.keys())
  configurable: Boolean, // 是否可以删除目标属性或是否可以再次修改属性的特性
  writable: Boolean // 属性值是否可以重写
}

 

JavaScript学习笔记(六)防篡改对象

原文:https://www.cnblogs.com/zhoulixue/p/10776805.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!