摘要:作用该方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象创建属性如果对象中不存在指定的属性,就创建这个属性当描述符中省略某些字段时,这些字段将使用它们的默认值拥有布尔值的字段的默认值都是。
Object.defineProperty()
1、作用:该方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象
2、创建属性:如果对象中不存在指定的属性,Object.defineProperty()就创建这个属性,当描述符中省略某些字段时,这些字段将使用它们的默认值(拥有布尔值的字段的默认值都是false。value,get和set字段的默认值为undefined);而点运算符添加的普通属性,属性描述符拥有布尔值的字段的默认值都是true
Object.defineProperty(o1,"a",{value :1}); //等价于 Object.defineProperty(o1,"a",{value : 1, writable : false, configurable : false, enumerable : false}); let o2 = {}; o2.a = 1; //等价于 Object.defineProperty(o2,"a",{value : 1, writable : true, configurable : true, enumerable : true});
3、修改属性:如果属性已经存在,Object.defineProperty()将尝试根据描述符中的值以及对象当前的配置来修改这个属性
let o3 = {} o3.a = 1; console.log(o.a) // 1 console.log(o.propertyIsEnumerable("a")) // true Object.defineProperty(o3, "a", {enumerable: false}) console.log(o.a) // 1 console.log(o.propertyIsEnumerable("a")) // falseObject.defineProperties()
1、作用:该方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象
2、例子:
var obj = {}; Object.defineProperties(obj, { "property1": { value: true, writable: true }, "property2": { value: "Hello", writable: false } // etc. etc. });
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/103502.html
摘要:不可与同时使用,会由属性的写入触发。权限仅可对为的属性进行赋值。作用完全锁死,不能做任何修改。需要注意的是,上述三个都是对原有对象的操作,并不会返回一个新的对象。可以说这些属性描述符是针对对象的属性做出的限制或者保护。 前言 昨天谈到了这些问题,发现认识比较片面。决定仔细看看并总结一下。 研究Object的部分ES5 API。可能会提到部分ES6内容。 Object Object ...
摘要:概述本章是使用机器学习预测天气系列教程的第一部分,使用和机器学习来构建模型,根据从收集的数据来预测天气温度。数据类型是机器学习领域经常会用到的数据结构。 概述 本章是使用机器学习预测天气系列教程的第一部分,使用Python和机器学习来构建模型,根据从Weather Underground收集的数据来预测天气温度。该教程将由三个不同的部分组成,涵盖的主题是: 数据收集和处理(本文)...
摘要:创建对象的两种方式推荐该构造器可以接受任何类型的参数,并且会自动识别参数的类型,并选择更合适的构造器来完成相关操作。比如二的成员该属性指向用来构造该函数对象的构造器,在这里为该方法返回的是一个用于描述目标对象的字符串。 之前看到【深度长文】JavaScript数组所有API全解密和JavaScript字符串所有API全解密这两篇高质量的文章。发现没写对象API解析(估计是博主觉得简单,...
阅读 2643·2021-10-11 10:59
阅读 2753·2021-09-22 15:49
阅读 2689·2021-08-13 13:25
阅读 1319·2019-08-30 13:14
阅读 2427·2019-08-29 18:45
阅读 3044·2019-08-29 18:36
阅读 1526·2019-08-29 13:21
阅读 1196·2019-08-26 11:44