JavaScript物件導向

2021-07-02 00:17:59 字數 1869 閱讀 9782

方法一:建構函式法

function cat()

cat.prototype.showname = function()

var cat = new cat();

cat.name = "tom";

cat.showname();// tom

它用建構函式模擬"類",在其內部用this關鍵字指代例項物件。

類的屬性和方法,還可以定義在建構函式的prototype物件之上。

生成例項的時候,使用new關鍵字。

方法二:object.create()法

var cat = 

};var cat = object.create(cat);

cat.name = "tom";

cat.showname();// tom

用這個方法,"類"就是乙個物件,不是函式。

然後,直接用object.create()生成例項,不需要用到new。

方法三:極簡主義法

1 類的定義

var cat = ;

cat.name = "";

cat.showname = function()

return cat;

}};var cat = cat.createnew();

cat.name = "tom";

cat.showname();// tom

2 繼承

var animal = ;

animal.name = "";

animal.sleep = function()

return animal;

}};var cat =

return cat;

}};var cat = cat.createnew();

cat.name = "tom";

cat.showname();// tom

cat.sleep();// zzzz...

讓乙個類繼承另乙個類,實現起來很方便。只要在前者的createnew()方法中,呼叫後者的createnew()方法即可。

3 私有成員

var cat = ;

var name = "tom";// 私有

cat.showname = function()

return cat;

}};var cat = cat.createnew();

cat.showname();// tom

在createnew()方法中,只要不是定義在cat物件上的方法和屬性,都是私有的。

4 類屬性

var cat = ;

cat.name = "";// 私有

cat.showname = function()

cat.showclass = function()

return cat;

}};var cat1 = cat.createnew();

cat1.name = "tom";

cat1.showname();

cat1.showclass();

var cat2 = cat.createnew();

cat2.name = "jim";

cat2.showname();

cat2.showclass();

有時候,我們需要所有例項物件,能夠讀寫同一項內部資料。

這個時候,只要把這個內部資料,封裝在類物件的裡面即createnew()方法的外面即可。

javaScript物件導向

code 類lecture構造器 使用兩個字串函式,name和teacher function lecture name,teacher 類lecture的方法,生成乙個顯示該課程資訊的字串 lecture.prototype.display function 類schedule的構造器 使用乙個l...

Javascript 物件導向

什麼是物件everything is object 萬物皆物件 物件到底是什麼,我們可以從兩次層次來理解。1 物件是單個事物的抽象。一本書 一輛汽車 乙個人都可以是物件,乙個資料庫 一張網頁 乙個與遠端伺服器的連線也可以是物件。當實物被抽象成物件,實物之間的關係就變成了物件之間的關係,從而就可以模擬...

javascript物件導向

當通過點記法引用物件的乙個屬性和函式時,倘若物件上沒有這個函式或屬性,此時就會使用物件的prototype屬性。當出現這種情況時,將檢查物件prototype屬性所引用的物件,檢視是否有所請求的屬性或函式。如果prototype屬性 引用的物件也沒有所需的函式或屬性,則會進一步檢查這個物件 prot...