javascript物件導向(一) 建立物件

2021-07-24 11:52:00 字數 1089 閱讀 7918

var person = new object();

person.name = "店小二";

person.age = 18;

person.say = function()

person.say();

使用這種定義的方式,雖然可以定義乙個物件,但是因為沒有類的約束,所以無法實現物件的重複使用。

var person = [

},},

}]

function creatperson(name,age,***) 

return person;

}var p1 = creatperson("店小二",12,"男");

p1.say();

alert(typeof p1);

function person(name,age,***)

}var p1= new person("店小二",12,"男");

p1.say();

alert(p1 instanceof person); //判斷乙個物件屬於某個類,返回布林值

基於建構函式的定義的方式最大的好處除了物件重複使用外,就是讓我們還可以判斷它的型別。

此時基於建構函式的定義物件的方式看似已經很完美了,需要的問題它都可以解決了,

但是卻存在乙個問。

通過**分析得知:say 方法在每個物件建立後都存在了乙個方法拷貝(但是我們發現**在只有呼叫時,say 方法才會在堆中建立),這樣就增加了記憶體的消耗了,如果在物件中有大量的方法時,記憶體的消耗就會高,這樣不行了。

可以試著將方法寫到建構函式外邊,但是這樣會帶來另乙個問題,就是方法一但定義為全域性函式,那麼 window 物件就可以呼叫該方法,這樣就破壞了物件的封裝性

JavaScript物件導向

方法一 建構函式法 function cat cat.prototype.showname function var cat new cat cat.name tom cat.showname tom 它用建構函式模擬 類 在其內部用this關鍵字指代例項物件。類的屬性和方法,還可以定義在建構函式的...

javaScript物件導向

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

Javascript 物件導向

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