真實生活中的對象、屬性和方法 在真實生活中,汽車是一個對象。 汽車有諸如車重和顏色等屬性,也有諸如啟動和停止的方法: car.name = porsche car.model = 911 car.length = 4499mm car.color = white car.start() car.dr ...
真實生活中的對象、屬性和方法
在真實生活中,汽車是一個對象。
汽車有諸如車重和顏色等屬性,也有諸如啟動和停止的方法:
對象 | 屬性 | 方法 |
---|---|---|
car.name = porsche car.model = 911 car.length = 4499mm car.color = white |
car.start() car.drive() car.brake() car.stop() |
所有汽車都擁有同樣的屬性,但屬性值因車而異。
所有汽車都擁有相同的方法,但是方法會在不同時間被執行。
JavaScript 對象
您之前已經學到,JavaScript 變數是數據值的容器。
這段代碼把一個單一值(porsche)賦給名為 car 的變數:
var car = "porsche";
對象也是變數。但是對象包含很多值。
這段代碼把多個值(porsche, 911, white)賦給名為 car 的變數:
var car = {type:"porsche", model:"911", color:"white"};
值以名稱:值對的方式來書寫(名稱和值由冒號分隔)。
JavaScript 對象是被命名值的容器。
對象屬性
(JavaScript 對象中的)名稱:值對被稱為屬性。
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
屬性 | 屬性值 |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
對象方法
對象也可以有方法。
方法是在對象上執行的動作。
方法以函數定義被存儲在屬性中。
屬性 | 屬性值 |
---|---|
firstName | Bill |
lastName | Gates |
age | 62 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
方法是作為屬性來存儲的函數。
var person = { firstName: "Bill", lastName : "Gates", id : 678, fullName : function() { return this.firstName + " " + this.lastName; } };
屬性屬性值firstNameBilllastNameGatesage62eyeColorblue
this 關鍵詞
在函數定義中,this 引用該函數的“擁有者”。
在上面的例子中,this 指的是“擁有” fullName 函數的 person 對象。
換言之,this.firstName 的意思是 this 對象的 firstName 屬性。
對象定義
我們定義(創建)了一個 JavaScript 對象:
實例
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
空格和折行都是允許的。對象定義可橫跨多行:
實例
var person = { firstName:"Bill", lastName:"Gates", age:50, eyeColor:"blue" };
訪問對象屬性
您能夠以兩種方式訪問屬性:
objectName.propertyName;
objectName["propertyName"];
訪問對象方法
您能夠通過如下語法訪問對象方法:
objectName.methodName()
objectName.methodName()
var x = new String(); // 把 x 聲明為 String 對象 var y = new Number(); // 把 y 聲明為 Number 對象 var z = new Boolean(); // 把 z 聲明為 Boolean 對象