Web前端高级编程——对象进阶

NOTE

基本概念

1、对象除了可以保持自有的属性,还可以从一个称为原型的对象继承属性(原型式继承是JavaScrpit的核心特征
对象是动态的,可以增加或删除属性
2、字符串、数值、true、false、null、undefined不是对象
3、对象的属性特征:
①可写(writable attribute),表明是否可以设置属性的值
②可枚举(enumerable attribute),表明是否可以通过for/in结构返回该属性
③可配置(configurable attribute),表明是否可以删除或修改该属性
4、Object()表示构造函数
5、对象加了括号是调用,没加括号是引用
6、属性分为:自有属性和继承属性

创建对象

1、创建对象的方法:对象字面量、通过new创建对象、原型
2、通过new创建对象:通过new调用构造函数来创建并初始化一个新对象(内置构造函数有:Object(),Array(),Date()等)

原型

所有通过对象字面量创建的对象都具有同一个原型对象。
通过Object.prototype获得原型对象的引用。

通过new和构造函数创建的对象的原型就是构造函数的prototype属性引用的对象。
如:new Array()对象的原型就是Array.prototype。

极少对象没有原型。
如:Object.prototype,它不继承任何属性

属性相关

查询一个不存在的属性并不会报错,会返回undefined,但是,如果对象不存在,那么试图查询这个不存在的对象的属性就会报错null和undefined值都没有属性,因此查询这些值的属性会报错。

属性getter和setter

由getter和setter定义的属性称做存取器属性
当程序查询存取器属性的值时,JavaScript调用getter方法(无参数)
当程序设置一个存取器属性的值时,JavaScript调用setter方法,将赋值表达式右侧的值当做参数传入setter。

和数据属性一样,存取器属性是可以继承的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值