• Js 的对象保护


    保护对象包括保护对象的数据和保护对象的结构

       

    1.保护对象的数据  1.数据属性

                                    2.访问器属性

       数据属性:enumerable :可用for in 遍历    

                         value        :

                         configrable : 1 可删除   2.e。。。和r。。。 可修改                配置完不可逆

                         writeble     可修改

      访问器属性 

                 1.将被保护的属性换个名字  例如 ——age 半隐藏  en--false  con--false 

                 2.为对象添加访问器属性   Object.setProperties   age {

                                                                  get:function(){}                       

                                                                   set:function(value) 

                                                              }

                                                           可遍历  不可配置

    2、保护结构:防止对对象的结构进行篡改,比如:添加新属性,删除现有的属性
    有3个级别
    一、防拓展:禁止给对象添加新属性
    Object.preventExtensions(对象)
    防止对eric的一切扩展
    二、密封:在兼具防扩展的基础上,进一步防止删除现有属性
    Object.seal(对象)
    将eric密封起来
    强调:属性值,依然可以修改。
    seal原理:自动将所有属性的configurable为false
    三、冻结:在密封基础上,进一步禁止修改属性值
    何时:今后凡是共用的对象的属性值,不能随便更改
    如何:Object.freeze(对象)
    原理:自动将所有属性的writable:false


  • 相关阅读:
    stm32 单片机
    #pragma hdrstop
    #pragma预处理命令
    用define 宏定义注释符号
    ANSI 标准C 还定义了如下几个宏
    国际C 语言乱码大赛(IOCCC )
    深入浅出C语言中的柔性数组
    有符号数与无符号数之间运算问题
    c 语言 register 关键字
    Windows堆思维导图--Windows pro sp3
  • 原文地址:https://www.cnblogs.com/fdbk/p/12639722.html
Copyright © 2020-2023  润新知