下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第JS設(shè)計(jì)模式之單例模式(一)單例模式是JavaScript中最常見的一種模式,通過這種模式可以為我們提供一個(gè)命名空間,例如jQuery庫的命名空間為jQuery或$。命名空間的使用是為了讓代碼更加整潔,在多人協(xié)作開發(fā)的情況下,不同的人定義的變量很有可能重復(fù),此時(shí)就需要使用命名空間來約束每個(gè)人定義的變量,使相同名稱的變量放在不同的命名空間中,避免相互干擾。例如:
//A程序員的命名空間
varA={
get:function(id){
returndocument.getElementById(id);
css:function(id,key,value){
get(id).style[key]=value;
//B程序員的命名空間
varB={
get:function(className){
returndocument.getElementByClassName(className)[0];
css:function(className,key,value){
get(className).style[key]=value;
A、B兩個(gè)命名空間中都有一個(gè)get方法和一個(gè)css方法,用于元素獲取和元素樣式修改,不同的是A是通過id來獲取元素,而B是通過class來獲取元素,通過命名空間,可以使這些相同名稱的方法共存,使用時(shí)指定相應(yīng)的命名空間即可。
模塊化
JavaScript中單例模式除了定義命名空間之外,還可用于管理代碼庫的各個(gè)功能模塊。例如:
google.dom.addClass//添加元素類
google.dom.append//插入元素
google.event.stopPropagation//阻止事件冒泡
google.event.preventDefault//阻止默認(rèn)行為
google.string.trim//去除字符串首尾空格
google.string.encodeHTML//將字符串進(jìn)行HTML編碼
以上各個(gè)模塊都位于google命名空間下,每個(gè)模塊都有屬于自己的方法,使用時(shí)只需按照需求調(diào)用特定功能模塊下對(duì)應(yīng)的方法即可。
常量
JavaScript中并沒有final、static這類關(guān)鍵字用來定義常量,但JavaScript非常靈活,通過常量只能訪問不能修改這一特點(diǎn),我們可以將變量保存在函數(shù)內(nèi)部,并且只提供獲取變量的方法,不提供設(shè)置變量的方法,通過閉包的方式使函數(shù)執(zhí)行一次并返回相應(yīng)的訪問方法對(duì)象,最后將這個(gè)對(duì)象放在全局空間中作為常量單例對(duì)象使用。例如:
varColor=(function(){
//私有變量
varcolor={
'RED':'#ff0000',
'YELLOW':'#ffff00',
'BLUE':'#0000ff'
//返回訪問方法對(duì)象
return{
//常量獲取方法
get:function(name){
returncolor[name]color[name]:null;
})();
varcolor=Color.get('BLU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)21世紀(jì)議程管理中心2026年度面向社會(huì)公開招聘工作人員的備考題庫及完整答案詳解一套
- 2026年浦城縣醫(yī)療單位醫(yī)療類儲(chǔ)備人才引進(jìn)備考題庫附答案詳解
- 2025年企業(yè)企業(yè)品牌推廣與消費(fèi)者洞察指南
- 2025年公共安全事件應(yīng)急處置預(yù)案指南
- 中學(xué)教師數(shù)字素養(yǎng)培養(yǎng)的區(qū)域協(xié)作培訓(xùn)模式優(yōu)化與評(píng)估教學(xué)研究課題報(bào)告
- 高中生運(yùn)用電感耦合等離子體質(zhì)譜法測(cè)定土壤中鉈元素含量的課題報(bào)告教學(xué)研究課題報(bào)告
- 初中英語寫作中最高級(jí)誤用類型與診斷干預(yù)策略課題報(bào)告教學(xué)研究課題報(bào)告
- 小學(xué)科學(xué)教育中科學(xué)實(shí)踐活動(dòng)對(duì)學(xué)生科學(xué)態(tài)度的促進(jìn)作用研究教學(xué)研究課題報(bào)告
- 基于語音識(shí)別技術(shù)的智能語言學(xué)習(xí)平臺(tái)開發(fā)課題報(bào)告教學(xué)研究課題報(bào)告
- 醫(yī)療美容服務(wù)合同及風(fēng)險(xiǎn)免責(zé)條款書
- 建筑企業(yè)工傷預(yù)防培訓(xùn)體系
- 2025年江南大學(xué)招聘真題(行政管理崗)
- 2024-2025學(xué)年江蘇省南通市海門區(qū)高二上學(xué)期期末調(diào)研地理試題(解析版)
- 汽車焊接知識(shí)培訓(xùn)
- 團(tuán)干部培訓(xùn)課件
- 2025年智能配電系統(tǒng)行業(yè)分析報(bào)告及未來發(fā)展趨勢(shì)預(yù)測(cè)
- 《中法高標(biāo)準(zhǔn)產(chǎn)品“藍(lán)天標(biāo)志(blue sky sign)”認(rèn)證技術(shù)規(guī)范》
- 明成祖朱棣課件
- 冰箱生產(chǎn)線工藝流程及質(zhì)量控制
- 2025年陜西省初中學(xué)業(yè)水平考試語文中考試卷【附答案】
- 勵(lì)磁系統(tǒng)改造施工方案
評(píng)論
0/150
提交評(píng)論