四、对象
1、什么是对象?
对象是一种数据类型(复合数据类型),对象中包含了属性和方法
(1)属性:表示对象的静态特征。使用方式为 “ 对象名.属性名”
(2)方法(函数):表示对象的行为(动态特征)。使用方式为“对象名.方法名(【参数】)”
2、对象的创建方式:
(1)使用字面量创建:{ }
let / var / const 对象名 = { }
说明:
(1)保存数据的格式:键: 值(key:value) ---- 称为“键值对”
(2)在程序中可以创建空对象:对象名 = { }
(3)给空对象添加属性、方法
3、通过Object来创建对象:
(1)Object对象:是JavaScript中所有对象的基类
(2)创建空对象:new Object()
练习2:通过Object创建一个对象,该对象的属性有:bookId、bookName、publishing,
包含的方法有:
setBookName(name):修改bookName属性值
setPublishing(publish):修改publishing属性值
showBookInfo():显示图书信息
或
4、利用构造函数创建对象
(1)构造函数:是一个函数(定义方式和普通函数的定义方式一样的)
function 构造函数名(【参数】){
this.属性名 = 属性值
this.方法名 = function(【参数】){
方法体语句
}
}
建议:构造方法名的首字母要大写
定义构造方法就是画图纸的过程,通过构造方法创建对象(new 构造方法名())就是根据图纸生成对象的过程
(2)通过构造方法创建对象:new 构造方法名(【参数】)
(3)对象使用属性和方法:
对象名.属性
对象名.方法名(【参数】)
练习3、定义一个构造方法Car(),属性是:color、engine、type ,方法是:setColor(color)、setEngine(engine)、setType(type)、
showCar()
创建两个对象,分别是car1和car2,显示car1的信息,修改car2的三个属性并显示出来
强调:this代表的是由构造方法创建的对象
练习4、定义构造方法Person(name,age),属性有:name、age ,方法有:setName(name)、setAge(age)、display()
使用该构造方法创建两个对象:
第一个对象的name:郭靖,age = 22
第二个对象的name:黄蓉,age = 18
显示这两个对象的信息