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

现实生活中,一辆车是一个对象。
一辆车有颜色,重量,等属性。有启动和停止,刹车等方法。
 

对象属性方法

car.name = Fiat

 

car.model = 500

car.weight = 850kg

car.color = white


car.start()

 

car.drive()

car.brake()

car.stop()

 
所有车辆都有同样的属性,但是这些属性的值却因为每辆车的不同而不同的。
下面的一段代码是给一个变量car赋予了一个值Fiat。

var car = "Fiat";

对象也是变量。但是对象可以包含多个值。
下面的代码是给car这个变量赋予了很多的值。

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

但是这个值的写法是配对的写法,如:type:”Fiat”。即是名称和值通过冒号分开。

对象属性

name:values配对的写法(在javascript对象中)叫做属性。

var person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
属性属性值
firstNameJohn
lastNameDoe
age50
eyeColorblue
对象方法

方法是可以在对象上执行的操作。
方法跟其它对象的属性一样,保存在对象属性当中,以定义的函数的形式。
 

属性属性值
firstNameJohn
lastNameDoe
age50
eyeColorblue
fullNamefunction() {return this.firstName + ” ” + this.lastName;}
对象的定义

您可以使用对象文字定义(并创建)一个JavaScript对象。

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

空格和换行不会影响代码的执行。一个对象的定义可以换行编写。

访问对象属性

有两种方式可以访问对象属性。

objectName.propertyName //对象名称.属性名称

例如:

var person = {
    firstName: "John",
    lastName : "Doe",
    id       : 5566,
    fullName : function() {
       return this.firstName + " " + this.lastName;
    }
};

document.getElementById("demo").innerHTML = person.fullName(); //John Doe

objectName["propertyName"] //对象名称["属性名称"]

例如:

var person = {
    firstName: "John",
    lastName : "Doe",
    id       :  5566
};
document.getElementById("demo").innerHTML =
person["firstName"] + " " + person["lastName"]; //John Doe
访问对象方法

访问对象的方法可以使用下面的语法。

objectName.methodName() //对象名称.方法名称()

例如:

var person = {
    firstName: "John",
    lastName : "Doe",
    id       : 5566,
    fullName : function() {
       return this.firstName + " " + this.lastName; //这里的this指的就是当前的对象
    }
};

document.getElementById("demo").innerHTML = person.fullName(); //John Doe

如果,访问的方法不带(),那么返回的是定义的函数。这个之前在上一节课的函数的定义中也提到过。

var person = {
    firstName: "John",
    lastName : "Doe",
    id       : 5566,
    fullName : function() {
       return this.firstName + " " + this.lastName;
    }
};

document.getElementById("demo").innerHTML = person.fullName; //function () { return this.firstName + " " + this.lastName; }
不要声明字符串,数字和布尔值作为对象!

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

var x = new String();        // 声明x为一个String对象
var y = new Number();        // 声明y为一个Number对象
var z = new Boolean();       // 声明z为一个Boolean对象

避免字符串,数字和布尔对象。他们会使你的代码复杂化,并减慢执行速度。
在之后的教程中会学到更详细的关于对象的知识。