方法一:建構函式法
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...