JavaScript 对象是拥有属性和方法的数据
显示生活中,一辆汽车是一个对象
对象有它的属性,如重量和颜色等,方法有启动停止等
对象 | 属性 | 方法 |
---|---|---|
car.name = Fiat car.model = 500 car.weight = 850k gcar.color = white | car.start() car.drive() car.brake() car.stop() |
所有汽车都有这些属性,但是每款车的属性都不尽相同
所有汽车都拥有这些方法,但是它们被执行的时间都不尽相同
JavaScript 中几乎所有的事物都是对象
JavaScript 中,对象是非常重要的,理解了对象,就可以了解 JavaScript
对象也是一个变量,但对象可以包含多个值 ( 多个变量 )
var car = { type:"Fiat", model:500, color:"white" };
上面的代码中,3 个值 ("Fiat", 500, "white") 赋予变量 car。
上面的代码中,3 个变量 (type, model, color) 赋予变量 car。
因此,从某些方面说,avaScript 对象是变量的容器
可以使用字符串来定义和创建 JavaScript 对象
var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
创建 JavaScript 对象时可以跨越多行,空格跟换行不是必须的
var person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
可以说 "JavaScript 对象是变量的容器"
当然,正确的说法是 "JavaScript 对象是键值对的容器"
键值对通常写法为 name : value (键与值以冒号分割)
键值对在 JavaScript 对象通常称为 对象属性
可以通过两种方式访问对象属性
person.lastName;
person["lastName"];
对象的方法定义了一个函数,并作为对象的属性存储
对象方法通过添加 () 调用 (作为一个函数)
下面的代码访问了 person 对象的 fullName() 方法
var name = person.fullName();
如果要访问 person 对象的 fullName 属性,它将作为一个定义函数的字符串返回
name = person.fullName;
可以使用以下语法创建对象方法
methodName : function() { code lines }
然后可以使用以下语法访问对象方法
objectName.methodName()
通常 fullName() 是作为 person 对象的一个方法, fullName 是作为一个属性