JavaScript对象


现实生活中的对象、属性和方法

在现实生活中,汽车是一个对象.

汽车具有重量和颜色等特性,以及启动和停止等方法:

属性 方法

car.name = Fiat

car.model = 500

car.weight = 850kg

car.color = white

car.start()

car.drive()

car.brake()

car.stop()

所有的汽车都有相同的属性,但是汽车不同属性值也不同

所有的汽车都有相同的方法,但在不同的时间方法被执行


JavaScript 对象

你已经学习了JavaScript变量是数据值的容器.

这个代码给变量car赋值了一个简单的值:

var car = "Fiat";

让我试试

对象也是变量。但对象可以包含许多值.

此代码分配许多值 (Fiat, 500, white) 给变量 car:

var car = {type:"Fiat", model:"500", color:"white"};

让我试试

值写成键:值对的形式(name和value用冒号分开).

JavaScript对象是name和value的容器


对象属性

name:values 对被称做属性 (在JavaScript对象中) .

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
Property Property Value
firstName John
lastName Doe
age 50
eyeColor blue

Object 方法

方法是可以在对象上执行的操作.

方法作为函数定义存储在属性中.

属性 属性值
firstName John
lastName Doe
age 50
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}

JavaScript 对象是属性和方法的容器.


Object 定义

你可以使用对象常量定义(创建)一个JavaScript对象:

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};

让我试试

空格和换行不重要。对象定义可以跨越多行:

var person = {
    firstName:"John",
    lastName:"Doe",
    age:50,
    eyeColor:"blue"
};

让我试试


访问对象的属性

可以通过两种方式访问对象属性:

objectName.propertyName

或者

objectName["propertyName"]
person.lastName;

让我试试

person["lastName"];

让我试试


访问对象的方法

使用下列语法访问对象方法:

objectName.methodName()
name = person.fullName();

让我试试

如果您访问fullName方法, 没有使用 (), 它将返回函数定义:

name = person.fullName;

让我试试

方法实际上是存储为属性值的函数定义.


不要创建字符串,数字,和布尔值为对象!

当一个JavaScript变量用关键字“new”声明时,创建变量为对象:

var x = new String();        // Declares x as a String object
var y = new Number();        // Declares y as a Number object
var z = new Boolean();       // Declares z as a Boolean object

避免 String, Number和Boolean对象. 它们使代码复杂化,并减慢执行速度.

在本教程后面,您将了解更多有关对象的知识.