當通過點記法引用物件的乙個屬性和函式時,倘若物件上沒有這個函式或屬性,此時就會使用物件的prototype屬性。
當出現這種情況時,將檢查物件prototype屬性所引用的物件,檢視是否有所請求的屬性或函式。如果prototype屬性
引用的物件也沒有所需的函式或屬性,則會進一步檢查這個物件(prototype屬性引用的物件)的prototype屬性,
依次沿著鏈向上查詢,直到找到所請求的函式或屬性,或者到達鏈尾,如果已經到達鏈尾還沒有找到,則返回undefined,
從這個意義上講,這種繼承結構更應該是一種「has a」關係,而非「is a」關係;
eg1 複數類:
/*建構函式
*/function
complex(real,image)
//得到當前複數的共軛複數
complex.prototype.negative
=function
()//
將複數轉化為字串
complex.prototype.tostring
=function
()/*
類方法*/
//計算兩複數的和
complex.add
=function
(a,b)
//計算兩複數的減,其中第乙個引數為被減數,第二個引數為減數
complex.minus
=function
(a,b)
//計算兩複數的乘法
complex.mult
=function
(a,b)
/*類屬性
*///
預定義一些有用的複數
complex.zero
=new
complex(0,
0);complex.one
=new
complex(1,
0);complex.i
=new
complex(0,
1);eg2 :/*
構造器 */
function vehicle()
this.setwheelcount = function(count)
this.getcurbweightinpounds = function()
this.setcurbweightinpounds = function(weight) }
eg3:/*
構造器 */
function vehicle(){}
vehicle.prototype.wheelcount = 4;//公有屬性
vehicle.prototype.curbweightinpounds = 4000;
//公有方法
vehicle.prototype.refueling = function()
//公有方法
vehicle.prototype.maintasks = function()
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 物件是單個事物的抽象。一本書 一輛汽車 乙個人都可以是物件,乙個資料庫 一張網頁 乙個與遠端伺服器的連線也可以是物件。當實物被抽象成物件,實物之間的關係就變成了物件之間的關係,從而就可以模擬...