Javascript 類(lèi)與靜態(tài)類(lèi)的實(shí)現(xiàn)(續(xù))
更新時(shí)間:2010年04月02日 21:23:39 作者:
由于MM的事件已干完,接著我們的靜態(tài)類(lèi)的實(shí)現(xiàn)。這東西在Javascript里用得會(huì)非常的頻繁,因?yàn)獒槍?duì)現(xiàn)在的網(wǎng)頁(yè),多個(gè)基于同一個(gè)類(lèi)對(duì)象的頁(yè)面不多,往往不同塊對(duì)象的交互就可以解決問(wèn)題了,這就需要在JS針對(duì)元素定義幾個(gè)靜態(tài)類(lèi)就可以完事了,進(jìn)入正題。
這次我們直接看例子:
/***定義靜態(tài)類(lèi)***/
var StaticClass = (function(){
var Return = {
Property: "Test Static Property", //公有屬性
Method: function(){ //公有方法
alert(_Field); //調(diào)用私用字段
privateMethod(); //調(diào)用私用方法
}
}; //定義返回的公有對(duì)象
var _Field = "Test Static Field"; //私有字段
var privateMethod = function(){ //私有方法
alert(Return.Property); //調(diào)用屬性
}
return Return; //生成公有靜態(tài)元素
})();
這次,我用的是閉包的方式去實(shí)現(xiàn),其中最重要的一點(diǎn)是reutrn Return; 這里會(huì)引伸到值類(lèi)型與引用類(lèi)型的概念。在js里,Object就是一個(gè)引用類(lèi)型,在閉包里,我會(huì)拋出一個(gè)包含有屬性與方法的Object的引用,這樣,也可以說(shuō)是把這個(gè)Object拋向了外部,實(shí)現(xiàn)了公開(kāi)。StaticClass這個(gè)變量接住了Return引用。 對(duì)于閉包內(nèi)部的私有字段與方法都是沒(méi)有被拋出的,這樣就可以形成一個(gè)私有的環(huán)境。
很多時(shí)候我們都會(huì)用這種技巧去對(duì)JS進(jìn)行分塊,讓程序不會(huì)那么的混亂。
上面的例子沒(méi)這么干過(guò)的兄弟們也可以自己去試試。忘了,剛剛那個(gè)例子大家可以這么樣去試試。
StaticClass.Method();
StaticClass.Property = "Test2";
StaticClass.Method();
一個(gè)人能夠走多遠(yuǎn),取決于與誰(shuí)同行
復(fù)制代碼 代碼如下:
/***定義靜態(tài)類(lèi)***/
var StaticClass = (function(){
var Return = {
Property: "Test Static Property", //公有屬性
Method: function(){ //公有方法
alert(_Field); //調(diào)用私用字段
privateMethod(); //調(diào)用私用方法
}
}; //定義返回的公有對(duì)象
var _Field = "Test Static Field"; //私有字段
var privateMethod = function(){ //私有方法
alert(Return.Property); //調(diào)用屬性
}
return Return; //生成公有靜態(tài)元素
})();
這次,我用的是閉包的方式去實(shí)現(xiàn),其中最重要的一點(diǎn)是reutrn Return; 這里會(huì)引伸到值類(lèi)型與引用類(lèi)型的概念。在js里,Object就是一個(gè)引用類(lèi)型,在閉包里,我會(huì)拋出一個(gè)包含有屬性與方法的Object的引用,這樣,也可以說(shuō)是把這個(gè)Object拋向了外部,實(shí)現(xiàn)了公開(kāi)。StaticClass這個(gè)變量接住了Return引用。 對(duì)于閉包內(nèi)部的私有字段與方法都是沒(méi)有被拋出的,這樣就可以形成一個(gè)私有的環(huán)境。
很多時(shí)候我們都會(huì)用這種技巧去對(duì)JS進(jìn)行分塊,讓程序不會(huì)那么的混亂。
上面的例子沒(méi)這么干過(guò)的兄弟們也可以自己去試試。忘了,剛剛那個(gè)例子大家可以這么樣去試試。
復(fù)制代碼 代碼如下:
StaticClass.Method();
StaticClass.Property = "Test2";
StaticClass.Method();
一個(gè)人能夠走多遠(yuǎn),取決于與誰(shuí)同行
相關(guān)文章
js面向?qū)ο?多種創(chuàng)建對(duì)象方法小結(jié)
js面向?qū)ο?多種創(chuàng)建對(duì)象方法小結(jié),需要的朋友可以參考下2012-05-05
javascript 面向?qū)ο缶幊?萬(wàn)物皆對(duì)象
javascript幾乎成了如今web開(kāi)發(fā)人員必學(xué)必會(huì)的一門(mén)語(yǔ)言,但很多人卻只停在了一些表單驗(yàn)證等基礎(chǔ)操作層面上,在面向?qū)ο笳Z(yǔ)言大行其道的當(dāng)下,我們需要去學(xué)習(xí)javascript的面向?qū)ο蟮闹R(shí),以便更好的掌握javascript、為深入理解各種腳本框架打好基礎(chǔ)。2009-09-09
Javascript 面向?qū)ο?對(duì)象(Object)
Javascript 面向?qū)ο?對(duì)象(Object)2010-05-05
面向?qū)ο蟮腏avascript之一(初識(shí)Javascript)
Javascript是一門(mén)極富表現(xiàn)力的語(yǔ)言,在當(dāng)今大行其道的Web浪潮中扮演著非常關(guān)鍵的作用。合理、高效地利用這門(mén)技術(shù),可以讓我們的Web世界多姿多彩。首先,我們認(rèn)識(shí)一下這門(mén)技術(shù)的幾個(gè)獨(dú)特的特性2012-01-01
JavaScript 使用簡(jiǎn)略語(yǔ)法創(chuàng)建對(duì)象的代碼
JavaScript 使用簡(jiǎn)略語(yǔ)法創(chuàng)建對(duì)象的代碼 ,需要的朋友可以參考下。2010-01-01
javascript 面向?qū)ο蟮腏avaScript類(lèi)
這一節(jié)來(lái)說(shuō)下緊接著的一個(gè)概念——類(lèi)。雖然JavaScript中沒(méi)有class關(guān)鍵字,但作為開(kāi)發(fā)人員我們一定要有這個(gè)思想。在C#中類(lèi)可以分為實(shí)例類(lèi)和靜態(tài)類(lèi),JavaScript亦然。2010-05-05

