一、什么是對象?
對象指一個具體的事物,泛指的不算對象,對像是一組無序的相關屬性和方法的集合;屬性是特征常用名詞來表示,方法是行為常用動詞來表示。
二、為什么需要對象?
當我們保存一個值時,可以使用變量,保存多個值時,可以使用數組;當我們需要保存很多完整、復雜的信息時,我們就會需要對象。
三、創建對象的三種方法
1. 利用字面量創建對象
var 對象名 ={
屬性名1 : 屬性值1,
屬性名2 : 屬性值2,
屬性名n : 屬性值n,
}
里面屬性或者方法我們采取鍵值對的形式:鍵就是屬性名 :值就是屬性值;
2. 利用 new Object()創建對象
var obj = new Object();
對象.屬性1=屬性值1;
對象.屬性2=屬性值2;
對象.屬性n=屬性值n;
利用
對象.屬性=屬性值的方法來添加對象的屬性和方法;每個屬性和方法之間用分號隔開;
3. 利用構造函數創建對象
之前的兩種方式只能一次創建一個對象,我們創建對象里面有很多屬性是相同的,我們可以利用函數的方法重復某些相同的代碼,我們就把這個函數稱為構造函數(構造函數就是把我們對象里面一些相同的屬性和方法抽象出來封裝到函數里面);里面封裝的是對象不是普通代碼。
function 構造函數名() {
this.屬性1 = 值1;
this.屬性2 = 值3;
this.屬性n = 值n;
this.方法 = function() {
}
}
我們規范構造函數名首字母大寫是為了和普通函數區分開;
構造函數不需要return就能返回值;
我們調用構造函數必須使用new;
屬性和方法前必須要用this;
new構造函數是在內存中創建了一個空的對象(我們調用函數,就相當於創建了一個對象,就是構造函數里面的一個實例,而構造函數泛指大類;),this就會指向剛剛創建的新對象,然后執行構造函數里面的代碼,給這個空對象添加屬性和方法,最后new可以返回這個對象,所以不用return。
四、如何調用對象里面的屬性和方法?
1. 調用屬性
①對象名.屬性名
②對象名['屬性名']
2. 調用方法
對象名.方法名()