最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript 作用域使用說(shuō)明

 更新時(shí)間:2009年08月13日 00:06:06   作者:  
在傳統(tǒng)的面向?qū)ο蟪绦蛟O(shè)計(jì)中,主要關(guān)注于公用和私有作用域。公用作用域中的對(duì)象屬性可以從對(duì)象外部訪問(wèn),即開(kāi)發(fā)者創(chuàng)建對(duì)象的實(shí)例后,就可使用它的公用屬性。

公用、受保護(hù)和私有作用域

在傳統(tǒng)的面向?qū)ο蟪绦蛟O(shè)計(jì)中,主要關(guān)注于公用和私有作用域。公用作用域中的對(duì)象屬性可以從對(duì)象外部訪問(wèn),即開(kāi)發(fā)者創(chuàng)建對(duì)象的實(shí)例后,就可使用它的公用屬性。而私有作用域中的屬性只能在對(duì)象內(nèi)部訪問(wèn),即對(duì)于外部世界來(lái)說(shuō),這些屬性并不存在。這也意味著如果類定義了私有屬性和方法,則它的子類也不能訪問(wèn)這些屬性和方法。

最近,另一種作用域流行起來(lái),即受保護(hù)作用域。雖然在不同語(yǔ)言中,受保護(hù)作用域的應(yīng)用的規(guī)則不同,但一般說(shuō)來(lái),它都用于定義私有的屬性和方法,只是這些屬性和方法還能被其子類訪問(wèn)。

對(duì)ECMAScript討論這些作用域幾乎毫無(wú)意義,因?yàn)镋CMAScript中只存在一種作用域——公用作用域。ECMAScript中的所有對(duì)象的所有屬性和方法都是公用的。因此,定義自己的類和對(duì)象時(shí),必須格外小心。記住,所有屬性和方法默認(rèn)都是公用的。

許多開(kāi)發(fā)者都在網(wǎng)上提出了有效的屬性作用域模式,解決了ECMAScript的這種問(wèn)題。由于缺少私有作用域,開(kāi)發(fā)者們制定了一個(gè)規(guī)約,說(shuō)明哪些屬性和方法應(yīng)該被看作私有的。這種規(guī)約規(guī)定在屬性名前后加下劃線。例如:

這段代碼中,屬性color是私有的。記住,這些下劃線并不改變這些屬性是公用屬性的事實(shí),它只是告訴其他開(kāi)發(fā)者,應(yīng)該把該屬性看作私有的。

有些開(kāi)發(fā)者還喜歡用單下劃線說(shuō)明私有成員,例如obj._color。

靜態(tài)作用域并非靜態(tài)的

靜態(tài)作用域定義的屬性和方法任何時(shí)候都能從同一個(gè)位置訪問(wèn)。在Java中,類可具有靜態(tài)屬性和方法,無(wú)需實(shí)例化該類的對(duì)象,即可訪問(wèn)這些屬性和方法,例如java.net.URLEncoder類,它的函數(shù)encode()即是靜態(tài)方法。

嚴(yán)格說(shuō)來(lái),ECMAScript并沒(méi)有靜態(tài)作用域。不過(guò),它可以給構(gòu)造函數(shù)提供屬性和方法。還記得嗎,構(gòu)造函數(shù)只是函數(shù)。函數(shù)是對(duì)象,對(duì)象可以有屬性和方法。例如:

這里,方法alternate()實(shí)際上是函數(shù)sayHi的方法??梢韵裾{(diào)用常規(guī)函數(shù)一樣調(diào)用sayHi()輸出"hi",也可以調(diào)用sayHi.alternate()輸出"hola"。即使如此,alternate()也是sayHi()公用作用域中的方法,而不是靜態(tài)方法。

相關(guān)文章

最新評(píng)論

恭城| 新安县| 莱州市| 台山市| 齐河县| 太和县| 松阳县| 湘西| 招远市| 科技| 宜黄县| 黔西| 北安市| 北宁市| 万山特区| 行唐县| 丹棱县| 特克斯县| 泽普县| 新余市| 德江县| 佛学| 如东县| 原阳县| 济源市| 斗六市| 金坛市| 武夷山市| 新田县| 陆丰市| 芒康县| 山东| 白城市| 绥棱县| 靖宇县| 正镶白旗| 中阳县| 彩票| 腾冲县| 中西区| 什邡市|