JS面向对象程序设计之对象

  面向对象程序设计的核心是抽象化,即对象。而javascript中并没有类的概念,但却可以利用自身的特性创建自定义对象。ECMA-262把对象定义为:无序属性的集合,其属性可以包含基本值、对象或者函数。属性有两种类型:数据属性和访问器属性。而描述属性的各种特征称之为特性。数据属性包括的特性有[[Configurable]]、[[Enumerable]]、[[Writable]]和[[Value]];访问器属性包括的特性有[[Configurable]]、[[Enumerable]]、[[Get]]和[[Set]],以下介绍这些特性:

  1. [[Configurable]]表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否属性修改为访问器属性,这个特性默认值是true。
  2. [[Enumerable]]表示能否通过for-in循环返回属性,这个特性默认值是true。
  3. [[Writable]]表示能否修改属性的值;[[Value]]包含这个属性的数据值,这个特性默认值是true。
  4. [[Get]]读取属性时调用的函数这个特性默认值是undefined。
  5. [[Set]]在写入属性时调用的函数这个特性默认值是undefined。
  6. 通过Object对象defineProperty方法修改对象属性的特性,若调用此方法时,如果不指定configurable、enumerable和writable特性的默认值都是false。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值