Javascript物件導向筆記

摘要:Javascript物件導向筆記

物件導向的思維是讓我想踏入程式設計的主要原因,為了追求物件導向的程式設計方法,讓我花了不少時間去研究,

最後,我進入了這個世界,得到了一點點這樣的感覺,

不過這也讓我回不了原本的程式設計方法了,也變得不容易看懂不是物件導向設計的程式碼,

Javascript這個語言在設計網頁程式的時候是相當重要的語言,善用這個語言可以加強網頁讓使用者操作的順暢感,

最近所要開發的程式就在這語言上佔了不少的比重,

Javascript可以模擬出相當程度的物件導向概念,不過需要了解這個語言的一些特性,

我花了一些時間去了解,雖然可以實現一些OO的特性,不過總是要花些時間才能做出來@@

這個實在是因為現在OpenSource的Javascript函式庫太好用了,大部分的時間是不需要自己來設計這方面的程式,

只要會用就行,因此,常常在需要使用的時候就已經忘了方法了@@

整理一下所需要用到的一些特性,

javascript目前沒有class需要使用function來代替,

另外定義一個類別的方法,感覺jQuery的定義法蠻好用的,

(function(){

   window.類別名稱 = function(){ .....};

})();
這樣的話不需要宣告變數什麼的就能把類別定義起來。

在寫的過程中,發現成員變數需要定義在類別定義的function中,要不然不同個體會互相干擾,

window.類別名稱 = function(){

this.成員;

}

成員方法則定義在prototype中,

(function(){

window.類別名稱 = function() {.....};

window.類別名稱.prototype = {

 方法名稱: function() {.......}

};

})();

如果要定義型別方法則是,

(function(){

window.類別名稱 = function() {.....};

window.類別名稱.靜態方法 = function() {.....};

})();

想到一個作法來模擬屬性,不知道這樣用起來順不順手,

window.類別名稱 = function(){

var m_成員;

this.屬性 = { getValue: function(){ return m_成員; }, setValue: function(value) { m_成員 = value; } };

}

Javascript 2.0好像已經Release了,如果瀏覽器有實作,就有直接的方式來玩Javascript OO了,

真希望這時代快點到來@@