• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

JS,保护对象的操作即阻止增、删、改的操作

武飞扬头像
记忆怪 bug
帮助1

阻止 新增 属性:Object.preventExtensions()     

阻止 增删 属性:Object.seal()

阻止 增删改 属性:Object.freeze()

  1.  
    <!DOCTYPE html>
  2.  
    <html lang="en">
  3.  
     
  4.  
    <head>
  5.  
    <meta charset="UTF-8" />
  6.  
    <meta
  7.  
    http-equiv="X-UA-Compatible"
  8.  
    content="IE=edge"
  9.  
    />
  10.  
    <meta
  11.  
    name="viewport"
  12.  
    content="width=device-width, initial-scale=1.0"
  13.  
    />
  14.  
    <title>Document</title>
  15.  
    </head>
  16.  
     
  17.  
    <body>
  18.  
    <!--
  19.  
    对象的保护操作: 来自于 ES5 2009年新增特性
  20.  
     
  21.  
    作用: 让代码书写之后更加严谨
  22.  
     
  23.  
    例如: 如果一个函数的返回值是对象类型, 你希望使用这个函数的人 在得到返回值之后 不可以进行改动
  24.  
     
  25.  
    就应该使用下列方法进行设定
  26.  
    -->
  27.  
     
  28.  
    <script>
  29.  
    // 开启严格模式: 阻止静默失败
  30.  
    'use strict'
  31.  
     
  32.  
    // 对象具有: 增删改查 4个操作
  33.  
    // 其中 增删改 都会影响原对象
  34.  
    let emp = {
  35.  
    eid: 10001,
  36.  
    ename: '看看',
  37.  
    eage: 33,
  38.  
    }
  39.  
    // 1. 阻止 新增 属性
  40.  
    // prevent:阻止 extension:扩展
  41.  
    Object.preventExtensions(emp)
  42.  
    // 报错:Cannot add property salary, object is not extensible
  43.  
    // 报错: 不能添加属性salary, 对象是不可扩展的
  44.  
    // emp.salary = 120000
  45.  
    // emp.ename = '暗暗'
  46.  
    // delete emp.ename
  47.  
     
  48.  
    // 2. 阻止 增删 属性
  49.  
    // seal: 密封
  50.  
    // Object.seal(emp)
  51.  
    // emp.salary = 12000 //增:报错
  52.  
    // delete emp.eage //删: 报错
  53.  
    // emp.eage = 200 //改: 可以
  54.  
     
  55.  
    // 3. 阻止 增删改 属性
  56.  
    // freeze: 冻结
  57.  
    Object.freeze(emp)
  58.  
    // emp.salary = 22
  59.  
    // delete emp.eage
  60.  
    emp.eid = 33
  61.  
     
  62.  
    console.log(emp)
  63.  
    </script>
  64.  
    </body>
  65.  
     
  66.  
    </html>
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhhkjeib
系列文章
更多 icon
同类精品
更多 icon
继续加载