Javascript 類與靜態(tài)類的實現(xiàn)(續(xù))
更新時間:2010年04月02日 21:23:39 作者:
由于MM的事件已干完,接著我們的靜態(tài)類的實現(xiàn)。這東西在Javascript里用得會非常的頻繁,因為針對現(xiàn)在的網(wǎng)頁,多個基于同一個類對象的頁面不多,往往不同塊對象的交互就可以解決問題了,這就需要在JS針對元素定義幾個靜態(tài)類就可以完事了,進(jìn)入正題。
這次我們直接看例子:
/***定義靜態(tài)類***/
var StaticClass = (function(){
var Return = {
Property: "Test Static Property", //公有屬性
Method: function(){ //公有方法
alert(_Field); //調(diào)用私用字段
privateMethod(); //調(diào)用私用方法
}
}; //定義返回的公有對象
var _Field = "Test Static Field"; //私有字段
var privateMethod = function(){ //私有方法
alert(Return.Property); //調(diào)用屬性
}
return Return; //生成公有靜態(tài)元素
})();
這次,我用的是閉包的方式去實現(xiàn),其中最重要的一點(diǎn)是reutrn Return; 這里會引伸到值類型與引用類型的概念。在js里,Object就是一個引用類型,在閉包里,我會拋出一個包含有屬性與方法的Object的引用,這樣,也可以說是把這個Object拋向了外部,實現(xiàn)了公開。StaticClass這個變量接住了Return引用。 對于閉包內(nèi)部的私有字段與方法都是沒有被拋出的,這樣就可以形成一個私有的環(huán)境。
很多時候我們都會用這種技巧去對JS進(jìn)行分塊,讓程序不會那么的混亂。
上面的例子沒這么干過的兄弟們也可以自己去試試。忘了,剛剛那個例子大家可以這么樣去試試。
StaticClass.Method();
StaticClass.Property = "Test2";
StaticClass.Method();
一個人能夠走多遠(yuǎn),取決于與誰同行
復(fù)制代碼 代碼如下:
/***定義靜態(tài)類***/
var StaticClass = (function(){
var Return = {
Property: "Test Static Property", //公有屬性
Method: function(){ //公有方法
alert(_Field); //調(diào)用私用字段
privateMethod(); //調(diào)用私用方法
}
}; //定義返回的公有對象
var _Field = "Test Static Field"; //私有字段
var privateMethod = function(){ //私有方法
alert(Return.Property); //調(diào)用屬性
}
return Return; //生成公有靜態(tài)元素
})();
這次,我用的是閉包的方式去實現(xiàn),其中最重要的一點(diǎn)是reutrn Return; 這里會引伸到值類型與引用類型的概念。在js里,Object就是一個引用類型,在閉包里,我會拋出一個包含有屬性與方法的Object的引用,這樣,也可以說是把這個Object拋向了外部,實現(xiàn)了公開。StaticClass這個變量接住了Return引用。 對于閉包內(nèi)部的私有字段與方法都是沒有被拋出的,這樣就可以形成一個私有的環(huán)境。
很多時候我們都會用這種技巧去對JS進(jìn)行分塊,讓程序不會那么的混亂。
上面的例子沒這么干過的兄弟們也可以自己去試試。忘了,剛剛那個例子大家可以這么樣去試試。
復(fù)制代碼 代碼如下:
StaticClass.Method();
StaticClass.Property = "Test2";
StaticClass.Method();
一個人能夠走多遠(yuǎn),取決于與誰同行
相關(guān)文章
JavaScript 構(gòu)造函數(shù) 面相對象學(xué)習(xí)必備知識
關(guān)于JavaScript構(gòu)造函數(shù),如今出現(xiàn)了很多JavaScript的框架,例如jQuery、Ext等等這些,這些將JavaScript作為一種面向?qū)ο蟮恼Z言進(jìn)行編程,那么JavaScript到底是怎么樣實現(xiàn)面向?qū)ο蟮囊恍┨卣鞯哪?,首先,我們來看看JavaScript怎么樣來定義一個構(gòu)造函數(shù)。2010-06-06mapper--圖片熱點(diǎn)區(qū)域高亮組件官方站點(diǎn)
2007-12-12javascript面向?qū)ο笾甁avascript 繼承
所有面向?qū)ο蟮恼Z言都應(yīng)該有繼承的特性,JavaScript 也不例外。2010-05-05JavaScript 創(chuàng)建對象和構(gòu)造類實現(xiàn)代碼
JavaScript學(xué)習(xí)筆記:創(chuàng)建對象和構(gòu)造類.2009-07-07JS小框架 fly javascript framework
這幾天把工作中積累的東西整理成了一個小框架,分享給大家,希望對大家有用,也想聽一下大家的批評2009-11-11