什么是对象
对象将一组变量和函数组合起来
对象中的变量和函数具有新的规则
在对象中: 变量被认为是属性
在对象中: 函数被认为是方法
创建对象
方法1: 字面量语法
1 var hotel = { 2 name: 'AAA', 3 rooms: 40, 4 booked: 25, 5 checkAvailability=function(){ 6 return this.rooms - this.booked; 7 } 8 }; 9 10 //访问对象11 var hotelName = hotel.name;12 var findRooms = hotel.checkAvailability();
方法2: 构造函数语法
new关键字和对象的构造函数相结合可以创建一个空白对象, 随后可以为其天假属性和方法.
- 首先, 使用new关键字和Object()构造函数联合创建一个新对象(此函数是JavaScript语言的一部分, 用于创建对象)
- 创建了空白对象后, 可以使用点语法添加属性和方法
var hotel = new Object();hotel.name = 'AAA';hotel.rooms = 40;hotel.booked = 25;hotel.checkAvailability = function(){ return this.rooms - this.booked;}//修改对象的属性hotel.name = 'BBB'//删除属性delete hotel.name;
方法3: 创建很多对象
对象构造函数可以使用函数作为模板来创建对象.
首先, 创建带有对象属性和方法的模板.
function Hotel(name, rooms, booked){ this.name = name; this.rooms = rooms; this.booked = booked; this.checkAvailability=function(){ return this.rooms - this.booked; };}//创建实例var aaaHotel = new Hotel('AAA', 40, 25);var bbbHotel = new Hotel('BBB', 110, 70);
- 一个名为Hotel的函数作为模板, 用来创建表示酒店的对象
- 这个函数有3个参数, 每个都为对象设置属性
- this关键字用于代替对象名来指代属性或方法所属的当前函数创建的对象. 可做 Hotel.name = name
- 构造函数的名称通常首字母大写, 大写字母用户提醒开发人员在使用该函数创建对象时要使用new关键字
- 使用构造函数创建对象的实例, new关键字后紧接着调用创建新对象的函数, 每个对象的属性作为实参传递给函数;