位置: 编程技术 - 正文

JavaScript对象的property属性详解(javascript对象的属性和方法)

编辑:rootadmin

JavaScript中对象的property有三个属性:1.writable。该property是否可写。2.enumerable。当使用for/in语句时,该property是否会被枚举。3.configurable。该property的属性是否可以修改,property是否可以删除。

在ECMAScript 3标准中,上面三个属性的值均为true且不可改:新建对象的property是可写的、可被枚举的、可删除的;而在ECMAScript 5标准中,可通过property的描述对象(property descriptor)来对这些属性进行配置和修改。

如果将property的值信息也作为property的属性来看的话,对象中的property拥有四个属性:value、writable、enumerable和configurable。

对于用getter和setter方法来定义的property,由于其没有writable属性(property是否可写取决于setter方法是否存在),因此这种property也有四个属性:get、set、enumerable和configurable — get和set属性的值为function。

获取对象property的属性

ECMAScript 5标准中,可以通过Object.getOwnPropertyDescriptor()来获取对象自身某个property的属性信息:可以看到,如果property不存在或者property继承自原型对象,则返回undefined。

设置对象property的属性

ECMAScript 5标准中,可以通过Object.defineProperty()来设置对象自身某个property的属性:如果设置的property是从原型对象中继承而来的,那么JavaScript将在对象自身中创建一个同名的property,这与赋值操作的相关行为一致:除了修改property的属性,还可以将property改为用getter或setter访问:在使用Object.defineProperty()时,property描述对象中的属性值可以部分忽略,当属性值有所忽略时,JavaScript中的处理规则如下:

如果property是新建的,则所有忽略的属性值均为false或undefined。如果property已存在,则所有忽略的属性值维持原样不变。

批量设置对象property的属性

如果需要一次性设置多个property的属性,可以使用Object.defineProperties()语句。该语句将返回修改后的对象。property属性设置规则

当对property属性进行修改时,必须遵循以下规则。如果违反规则,JavaScript将报TypeError错误:

如果对象不是extensible的,则只能修改已有property的属性,无法添加新的property。如果property的configurable属性为false,则无法修改configurable和enumerable属性的值,对于writable属性,可以将其从true改为false,但无法将其从false改为true。如果property由getter和setter定义,则getter和setter方法无法被修改。如果property的configurable属性和writable属性均为false,则property值不可改。如果property的writable属性为false,但其configurable属性为true,则property值依然可以修改。

推荐整理分享JavaScript对象的property属性详解(javascript对象的属性和方法),希望有所帮助,仅作参考,欢迎阅读内容。

JavaScript对象的property属性详解(javascript对象的属性和方法)

文章相关热门搜索词:JavaScript对象的属性和方法不用区分大小写,javascript对象的属性和方法,JavaScript对象的属性和方法不用区分大小写,JavaScript对象的创建,javascript对象的种类,javascript对象的属性和方法,javascript对象的属性和方法,JavaScript对象的创建,内容如对您有帮助,希望把文章链接给更多的朋友!

深入理解javascript的执行顺序 如果你不能理解javaScript语言的运行机制,或者简单地说,你不能掌握javascript的执行顺序,那你就犹如伯乐驾驭不了千里马,让千里马脱缰而出,四处乱

JavaScript中的prototype.bind()方法介绍 以前,你可能会直接设置self=this或者that=this等等,这样做当然也能起作用,但是使用Function.prototype.bind()会更好,看上去也更专业。下面举个简单的例子

JavaScript排序算法之希尔排序的2个实例 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率。但插入排序一般来说是低效的,因为插入排序每次只能将数据移动

标签: javascript对象的属性和方法

本文链接地址:https://www.jiuchutong.com/biancheng/373761.html 转载请保留说明!

上一篇:js原型继承的两种方法对比介绍(js原型继承和构造继承)

下一篇:深入理解javascript的执行顺序(深入理解ffmpeg pdf)

  • 私人大额转账要到柜台办理吗
  • 什么情况下纳税人和负税人一致
  • 小规模纳税人已过开票截止日期禁止开票怎么办
  • 企业所得税的会计核算
  • 买一赠一的税务怎么算
  • 借款利息税前扣除标准例题
  • 房地产开发企业资质证书
  • 税务局代个人开票
  • 公司在筹备阶段可以不交社保
  • 发票的抵扣期限怎么填
  • 土增税清算时统借统还利息能否据实扣除
  • 足球俱乐部买卖球员的程序
  • 发行债券的会计要素
  • 经营租赁是主营业务收入吗
  • 实收资本印花税税率多少
  • 企业更名后账务如何处理
  • 契税与印花税能抵扣吗
  • 开具的增值税发票丢失最新处理办法
  • 个体户注销未分配利润要交个税吗
  • 消费税的纳税环节可能有
  • 商品流通企业会计心得体会3000字
  • 手撕发票怎么粘贴平整
  • 小规模纳税人和一般纳税人哪个好
  • 三证合一之后的税务登记
  • 营改增后不动产发票样本
  • 加权平均数是什么意思的权
  • 下花园6路公交车时间表
  • launcheflc.exe什么意思
  • 500万元固定资产管理办法
  • 当月不生产,生产成本怎么处理
  • 影响当期损益的税费
  • 其他营业账簿印花税减免政策
  • yii2中dropDownList实现二级和三级联动写法
  • php常用的字符串函数
  • php提供的三种在函数内使用全局变量的方式
  • 建筑业成本核算流程
  • 劳务派遣公司的注册资本最低限额为
  • 帝国cms安装教程
  • python gitpython
  • 生产企业出口货物必须以什么为计税依据计算免抵退税额
  • 小规模纳税人升为一般纳税人条件
  • 金税四期的基本理念
  • 固定资产折旧的计算方法
  • 公司注销实收资本有余额怎么处理
  • 权益法股权投资收益纳税调减
  • 转让不动产怎么计算增值税
  • 企业清算未收到发票
  • 公司办公室装修装修
  • 简易征收计算企业所得税怎么算
  • 小规模什么情况下必须转为一般纳税人
  • 非税收入定额票据是什么
  • 报销程序是什么
  • 塑料行业税负率是多少
  • 小规模纳税人可以抵税吗
  • 会计账簿的种类包括总账明细账日记账和其他辅助性账簿
  • 房地产会计如何报税
  • 印花税应税凭证是还是否
  • mysql转移表数据表
  • windows开发了多久
  • 苹果序列号查询
  • windows2003文件服务器
  • 电脑出现系统状态
  • 360杀毒恢复区
  • 笔记本隐藏功能
  • windows8开机蓝屏
  • 升级windows8
  • process32first 进程信息为空
  • win10周年版
  • win7系统怎么截图然后保存
  • windows8截图保存在哪里
  • Android通过HttpURLConnection获取JSON并进行UI更新
  • 下雪了作文
  • 基于arcgis的python编程
  • 税务局每月征期是什么时候
  • 国税税控开票系统
  • steam账号要身份证吗
  • 陕西税务局如何缴纳社保
  • 广东地方税务局官网
  • 期货手续费怎么算
  • 公司迁税务所流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设