zoukankan      html  css  js  c++  java
  • 防篡改对象

    1.不可扩展对象:Obeject.preventExtensions()

    var pp={name:'wehweh'};
    Object.preventExtensions(pp)
    Object {name: "wehweh"}
    pp.age=23
    23
    pp
    Object {name: "wehweh"}
    

    ps:这个方法可以改变name也可以删除name但是就是不能扩展属性

      检查是否可以扩展属性的方法:isExtensible()

    2.密封对象:Object.seal()

    var ps={name:'wewe'};
    undefined
    Object.seal(ps)
    Object {name: "wewe"}
    ps.age=23
    23
    ps
    Object {name: "wewe"}
    delete ps.name
    false
    ps
    Object {name: "wewe"}

    ps.name="hh"
    "hh"
    ps
    Object {name: "hh"}

    ps:不可以扩展属性,也不可以删除 ,但是可以修改

      Objece.seal()方法可以确定对象是否密封了

    3.冻结对象Object.freeze()

    var person={name:'leiwenwen'};
    undefined
    Object.freeze(person)
    Object {name: "leiwenwen"}
    person.age=22
    22
    person
    Object {name: "leiwenwen"}
    delete person.name
    false
    person
    Object {name: "leiwenwen"}
    person.name="wenwen"
    "wenwen"
    person
    Object {name: "leiwenwen"}
    

     ps:Object.freeze():不可以扩展属性,也不可以删除跟修改现有的属性

      isFrozen()方法可以确定对象是否冻结了

  • 相关阅读:
    自定义组件
    vue 父子组件传值数据不能实时更新问题
    vuex(2)
    vuex(1)
    mysql-忘记密码
    转发&重定向
    mysql主从配置
    mysql安装脚本
    1、JAVA数据类型
    maven 国内阿里云镜像配置
  • 原文地址:https://www.cnblogs.com/lwwen/p/5750203.html
Copyright © 2011-2022 走看看