对象的特性-禁止对象扩展


<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><script>var obj1 = {firstName: '赵四',lastName: '尼古拉斯'};// 检测对象是否可扩展,true 表示可扩展,false 表示不可扩展console.log(Object.isExtensible(obj1));  // true// 禁止对象扩展Object.preventExtensions(obj1)// 检测对象是否可扩展,true 表示可扩展,false 表示不可扩展console.log(Object.isExtensible(obj1));  // false// 为 obj1 添加新属性,此时添加不上obj1.age = 20;console.log(obj1)</script>
</body></html>

对象的特性-封印对象


<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><script>var obj1 = {firstName: '赵四',lastName: '尼古拉斯'};// 检测对象是否可扩展,true 表示可扩展,false 表示不可扩展// console.log(Object.isExtensible(obj1));  // true// 检测对象是否是被封印的,true 表示已被封印,false 表示未被封印console.log(Object.isSealed(obj1));  // false// 封印对象Object.seal(obj1);// 检测对象是否是被封印的,true 表示已被封印,false 表示未被封印console.log(Object.isSealed(obj1));  // true// 检测对象是否可扩展,true 表示可扩展,false 表示不可扩展console.log(Object.isExtensible(obj1));  // false// 不可扩展obj1.age = 20;// 由于被封印对象的所有属性的 configurable 特性都被设置成 false,因此不能删除任何属性。delete obj1.firstName;// 可以修改已有属性,writable: trueobj1.firstName = '刘能';// 可以遍历已有属性,enumerable: truefor (var key in obj1) {console.log(key)}// 被封印对象的特点:// 1. 不可扩展新属性// 2. 不能删除已有属性// 3. 可以修改已有属性// 4. 可以遍历已有属性console.log(obj1)</script>
</body></html>

对象的特性-冻结对象


<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><script>var obj1 = {firstName: '赵四',lastName: '尼古拉斯'};// 检测对象是否被冻结,true 表示已被冻结,false 表示未被冻结console.log(Object.isFrozen(obj1));  // false// 冻结对象Object.freeze(obj1)// 冻结之后,再次检测对象是否被冻结console.log(Object.isFrozen(obj1));  // true// 冻结之后,再次检测对象是否被封印console.log(Object.isSealed(obj1));  // true// 冻结之后,再次检测对象是否能扩展console.log(Object.isExtensible(obj1));  // false// 不可扩展obj1.age = 20;// 由于冻结对象的所有属性的 configurable 特性都被设置成 false,因此不能删除任何属性。delete obj1.firstName;// 不可修改已有属性,writable: falseobj1.firstName = '刘能';// 可以遍历已有属性,enumerable: truefor (var key in obj1) {console.log(key)}// 被冻结对象的特点:// 1. 不可扩展新属性// 2. 不能删除已有属性// 3. 不可修改已有属性// 4. 可以遍历已有属性console.log(obj1)</script>
</body></html>

JS-面向对象-对象的特性-禁止对象扩展 / 对象的特性-封印对象 / 对象的特性-冻结对象相关推荐

  1. 第163天:js面向对象-对象创建方式总结

    面向对象-对象创建方式总结 1. 创建对象的方式,json方式 推荐使用的场合: 作为函数的参数,临时只用一次的场景.比如设置函数原型对象. 1 var obj = {}; 2 //对象有自己的 属性 ...

  2. JavaScript – 6.JS面向对象基础(*) + 7.Array对象 + 8.JS中的Dictionary + 9.数组、for及其他...

    6.JS面向对象基础(*) 7.Array对象 7.1 练习:求一个数组中的最大值.定义成函数. 7.2 练习:将一个字符串数组输出为|分割的形式,比如"刘在石|金钟国|李光洙|HAHA|宋 ...

  3. Js面向对象的程序设计——理解对象

    Js面向对象的程序设计 Js面向对象的程序设计 理解对象 属性类型 Js面向对象的程序设计 理解对象 示例 : var person=new Object(); person.name="N ...

  4. js面向对象的程序设计 --- 上篇(理解对象)

    前言 ECMAScript中没有类的概念,因此它们的对象与基于类的语言中的对象有所不同. ECMA-262把对象定义为:"无序的集合属性,其属性可以包含基本值,对象或者函数".正因 ...

  5. JS面向对象特性和值类型与复合类型

    JS面向对象之特性已经值类型与复合类型 一些属性 空对象 空对象也是对象, 只是有存变量的变量名, 没有对象属性 var o ={}; 参数传递 值类型: 函数内外两个变量, 两个数据, 都不相同 引 ...

  6. activexobject java_JS进阶篇--IE浏览器的ActiveXObject对象以及FileSystemobject的应用扩展...

    ActiveXObject 对象 启用和返回对自动化对象的引用. 此对象仅用于实例化自动化对象,且此对象没有成员. 警告:此对象为 Microsoft 扩展,仅在 Internet Explorer ...

  7. js防篡改对象之冻结对象

    const person = {name: '啦啦德玛西亚',_job: '无业'}Object.defineProperty(person, 'job', {get: function() {ret ...

  8. ES6基础语法(let、const、解构赋值、模板字符串、简化对象、箭头函数、扩展运算符)(一)

    系列文章目录 第二章:ES6深入(Symbol.类.迭代器.Set.Map)(二) 第三章:ES6深入(生成器.Promise.async/await)(三) 第四章:ES6+新增API拓展(对象AP ...

  9. js通过开始时间和结束时间计算出中间的所有日期,并且转换为层级结构数组对象,用于甘特图头部日期数据

    写在前面: 先看下最终数据结构展示 time('2020-10-01', '2021-01-06') 需要根据一个开始日期和一个结束日期最后返回以下数组对象 [最外层数组里的每个对象代表了某一年的所有 ...

最新文章

  1. [Python]urllib库的简单应用-实现北航宿舍自动上网
  2. 常用排序算法之——堆排序
  3. 3.1.9 二级页表
  4. [asp常用代码]文件上传代码
  5. 惜分飞oracle,惜分飞 - 提供7*24专业数据库(Oracle,SQL Server,MySQL等)恢复和Oracle技术服务@Tel:+86 13429648788...
  6. win2003+IIS6+PHP5.3.8+MSSQL2008的安装配置
  7. 访问对象的属性和方法
  8. 计算机专业本科开题报告,计算机本科毕业论文开题报告
  9. Charles 二三谈
  10. python的requests库安装失败_robot framework-requests库安装过程问题解决
  11. bug-箭头函数中this指向的问题
  12. 李宏毅机器学习day2
  13. php检查某个网站,用php开发一个检测某网站是否在正常运行的小模块
  14. CF1267G Game Relics(期望、背包)
  15. 好课堂Scratch编程10 趣学篇(六)听题!格里芬的挑战
  16. 国外短链接项目。一万次点击220美刀
  17. 如何更改Linux的ip地址为静态ip(附克隆主机需要做的更改)
  18. android地图选点,【百度地图】Android实现地图展示、定位、选点、地点查询和地点模糊查询功能...
  19. CVPR2021 最佳论文 Giraffe,当之无愧的最佳,或开创新的篇章
  20. 郑州市各区劳动仲裁委员会办公地址及电话

热门文章

  1. 正则表达式实现身份证信息验证
  2. oracle with和insert结合使用
  3. Python--26 简单定制 计时器
  4. 工作笔记-关于工具函数的编写问题
  5. 个性化联邦学习PFedMe详细解读(NeurIPS 2020)
  6. 样本量很少如何获得最佳的效果?最新小样本学习工具包来啦!
  7. YOLO 系目标检测算法家族全景图!
  8. CV Papers|计算机视觉论文推荐周报20200601期
  9. java activity生命周_关于Activity的生命周期和任务栈的理解
  10. mysql从删库到跑路 亚马逊_Amazon RDS 上的 MySQL 的已知问题和限制 - Amazon Relational Database Service...