最新文章专题视频专题关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
风暴要塞开门任务流程 jsonobject.parseobject csgo段位 vmware安装教程 mate40和mate40pro区别 rar密码怎么解除 摄影报价表怎么做 lol载入界面黑屏转圈进不去 家庭困难低保申请书 天玑1200和骁龙888哪个好 怎么查当地快递是否停运 长边翻转和短边翻转是什么意思 那一定会很好课文解析 红星照耀中国曾易名为 四川方言口头禅 流浪地球影评 lol网名大全男生骚气 民族团结知识测试题及答案 疫情英雄人物事迹简介 win10 0x00000709 小狐狸钱包怎么添加bsc网络 染色体mb和kb哪个大 备用机性价比最高的手机 撒野的防伪码在哪 延安旅游必去景点推荐 论普通的我如何学会自信 扫黑风暴哪台几点播出 ios14.8和15哪个好 扫黑风暴怎么看全集 犇是什么意思 怎么快速入睡 ai文件用什么软件打开和编辑 我有多爱你你有多爱我其实我们都说不出来是什么歌 胆固醇最怕的三种水果 威海旅游攻略必去景点 js跳转到指定url 汪汪队立大功是王一博唱的吗 网络公司取什么名字好 打卡吧吃货团在哪个平台播 textarea标签属性
当前位置: 首页 - 科技 - 知识百科 - 正文

object.defineproperty()

来源:懂视网 责编:李赢赢 时间:2021-12-22 10:54:38
文档

object.defineproperty()

一、定义:Object.defineProperty()会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象;二、和.操作符或者[]操作符的区别;三、接受3个参数;四、属性类型:1、数据属性,2、访问器属性;五、数据属性和访问器属性相互转换。
推荐度:
导读一、定义:Object.defineProperty()会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象;二、和.操作符或者[]操作符的区别;三、接受3个参数;四、属性类型:1、数据属性,2、访问器属性;五、数据属性和访问器属性相互转换。

object.defineproperty()是什么呢?不知道的小伙伴来看看小编今天的分享吧!

一、Object.defineProperty()的定义:

Object.defineProperty()会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。

二、和.操作符或者[]操作符的区别:

Object.defineProperty()能够更深入地定义一个对象,它操作的不仅仅是属性的值,也可以修改属性的一些特性,比如是否可修改,是否可遍历,当然值也是属性其中的特性之一。

三、Object.defineProperty(obj, prop, descriptor)接受3个参数:

obj: 要操作的对象

prop: 要操作的属性

descriptor: 描述符对象。包含6个属性:configurable、enumerable、writable、value、get、set

注意:

应当直接在Object构造器对象上调用此方法,而不是在任意一个Object类型的实例上调用。

四、属性类型:

1、数据属性

数据属性包含一个数据值的位置。在这个位置可以读取和写入值

数据属性有4个描述其行为的特性:

configurable: 能否通过delete删除属性,能否修改属性特性(注意是特性),能否修改为访问器属性,默认是true

enumerable: 能否通过for-in遍历到该属性,默认是true

writable: 能否修改属性值,默认是true

value: 这个属性的数据值。读取属性值的时候,从这里读取;写入属性值得时候,把新值保存在这个位置。默认是undefined

例如:

let person = {}

person.name // 给person添加一个数据属性,Configurable、Enumerable、Writable默认是true,Value是undefinedperson.name = 'a' // Value特性被设置为'a'

如果将configurable设置为false 那么除了value和writable之外的特性都不能被修改(本身也不能再改为true了),如果修改会被忽略,严格模式会报错。

在configurable为false的情况下,writable为true可修改为false,如果writable为false,修改为true也会被忽略,严格模式报错。

Object.defineProperty(person, 'name', {  configurable: false})Object.defineProperty(person, 'name', {  value: 'b'})console.log(person.name) // b  configurable为false,writable为true时还能修改Object.defineProperty(person, 'name', {  writable: false})

person.name = 'c' // errorObject.defineProperty(person, 'name', {  writable: true}) // error

2、访问器属性

访问器属性不包含数据值,包含一对getter和setter函数(不需要同时存在)。
访问器属性必须通过Object.defineProperty定义。访问器属性有以下四个特性:

configurable: 能否通过delete删除属性,能否修改属性特性(注意是特性),能否修改为数据属性,默认是true

enumerable: 能否通过for-in遍历到该属性,默认是true

get: 在读取属性时调用的函数。默认值是undefined

set: 在写入属性时调用的函数。默认是undefined

五、数据属性和访问器属性相互转换:

数据属性 -> 访问器属性

给数据属性设置了get或set特性,value和writable特性就会被废弃,该属性变为访问器属性

访问器属性 -> 数据属性

给访问器属性设置了value或writable特性,get和set特性就会被废弃,该属性变为数据属性

注意:只有在configurable为true的情况下才可以相互转换,即使数据属性中在configurable为false的情况可以修改value或writable,访问器属性转数据属性只设置value或writable也不行。

以上就是小编今天的分享了,希望可以帮助到大家。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:0731-84117792 E-MAIL:11247931@qq.com

文档

object.defineproperty()

一、定义:Object.defineProperty()会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象;二、和.操作符或者[]操作符的区别;三、接受3个参数;四、属性类型:1、数据属性,2、访问器属性;五、数据属性和访问器属性相互转换。
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题风暴要塞开门任务流程风暴要塞开门任务流程专题jsonobject.parseobjectjsonobject.parseobject专题csgo段位csgo段位专题vmware安装教程vmware安装教程专题mate40和mate40pro区别mate40和mate40pro区别专题rar密码怎么解除rar密码怎么解除专题摄影报价表怎么做摄影报价表怎么做专题lol载入界面黑屏转圈进不去lol载入界面黑屏转圈进不去专题家庭困难低保申请书家庭困难低保申请书专题天玑1200和骁龙888哪个好天玑1200和骁龙888哪个好专题怎么查当地快递是否停运怎么查当地快递是否停运专题长边翻转和短边翻转是什么意思长边翻转和短边翻转是什么意思专题那一定会很好课文解析那一定会很好课文解析专题红星照耀中国曾易名为红星照耀中国曾易名为专题四川方言口头禅四川方言口头禅专题流浪地球影评流浪地球影评专题lol网名大全男生骚气lol网名大全男生骚气专题民族团结知识测试题及答案民族团结知识测试题及答案专题疫情英雄人物事迹简介疫情英雄人物事迹简介专题win10 0x00000709win10 0x00000709专题读书笔记红星照耀中国读书笔记红星照耀中国专题失去信任的感情多可怕失去信任的感情多可怕专题创建数据库的sql语句创建数据库的sql语句专题男生说lol是什么意思男生说lol是什么意思专题有素质骂人特别狠的话有素质骂人特别狠的话专题高级怼人的网名高级怼人的网名专题vue路由跳转的三种方式vue路由跳转的三种方式专题幼儿园家访记录50篇幼儿园家访记录50篇专题不良事件分级不良事件分级专题enbx用什么软件打开enbx用什么软件打开专题广西南宁飞北京专题广西南宁批发眼镜市场专题广西南宁美食介绍专题广西南宁横县鲜花店专题广西南宁市商铺出租信息专题广西南宁南创电器设备有限公司专题广西南宁离贵州有多远专题广西南宁圣山电子科技有限公司专题广西南宁电信套餐专题广西南宁电商专题广西南宁麻将专题广西南宁西乡塘房价专题广西南宁学院研究生专题广西南宁是低风险地区吗专题广西南宁篮球架专题广西南宁青秀区邮政编码专题广西南宁亲子鉴定中心在哪里专题广西南宁跳舞的专题广西南宁福尔摩装饰设计工程有限公司专题广西南宁本科院校专题
Top