IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Web前端必做笔记之一:JavaScript中对象属性的描述,可枚举,可配置,可重写 -> 正文阅读

[JavaScript知识库]Web前端必做笔记之一:JavaScript中对象属性的描述,可枚举,可配置,可重写

Web前端必做笔记之一:JavaScript中对象属性的描述,可枚举,可配置,可重写

      <script>
              //可枚举,不可枚举

              const student = {
                     name:"小明",
                     age:12,
                     [Symbol("level")]:"优秀",
                     [Symbol("level")]:"有钱",
              }
               
        const val  =  Object.getOwnPropertyDescriptor(student,"name");
        console.log(val);
            /*
            {
                  configurable: true  //属性是否可以删除
                  enumerable: true    //属性是否可枚举, 可枚举:比如说for...in循环,true,可枚举的就能够遍历到,false,不可枚举就遍历不到
                  value: "小明"       //属性值
                  writable: true      //属性是否可以修改
            }
            */

            Object.defineProperty(student,"gender",{   //这个方法第一个参数是对象,第二个是属性

                  configurable: true,  //属性是否可以删除
                  enumerable: true,    //属性是否可枚举,
                  value: "男",       //属性值
                  writable: true      //属性是否可以修改

            })

            console.log(student);  //会发现多了个"gender"属性
            //如果要删除这个属性那怎么办?
            delete student.gender;
   </script>       
<script>
//当我们把这个configurable改成false
            Object.defineProperty(student,"gender",{   

                  configurable: false,  //属性是否可以删除
                  enumerable: true,    //属性是否可枚举,
                  value: "男",       //属性值
                  writable: true      //属性是否可以修改

                  })
                  delete student.gender;
                  console.log(student);   //就会发现“gender”没有删掉
   </script>               
<script>
 Object.defineProperty(student,"gender",{   

                        configurable: false,  //属性是否可以删除
                        enumerable: true,    //属性是否可枚举,
                        value: "男",       //属性值
                        writable: true      //属性是否可以修改

                        }) 
                    student.gender = "女"
                    console.log(student);  //会发现小明变成"女"  ,writable改成false,就修改不了。  
                    
                    
                 for(let pro in student){
                       console.log(pro);   //会打印出name, age,gender;当我们把enumerable:false,变成了不可枚举属性,就会发现gender没了。
                 }   
                 //也就是说,for...in循环找不到不可枚举的数据
   </script>              

总结:
1. configurable: false, //属性是否可以删除
enumerable: true, //属性是否可枚举,
value: “男”, //属性值
writable: true //属性是否可以修改
2.for…in循环,true,可枚举的就能够遍历到,false,不可枚举就遍历不到

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-12 23:20:30  更:2021-10-12 23:22:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 21:38:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码