国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JS設計模式之單例模式(一)

2024-05-06 15:26:02
字體:
來源:轉載
供稿:網友

命名空間

單例模式是JavaScript中最常見的一種模式,通過這種模式可以為我們提供一個命名空間,例如jQuery庫的命名空間為jQuery或$。命名空間的使用是為了讓代碼更加整潔,在多人協作開發的情況下,不同的人定義的變量很有可能重復,此時就需要使用命名空間來約束每個人定義的變量,使相同名稱的變量放在不同的命名空間中,避免相互干擾。例如:

// A程序員的命名空間var A = {  get: function(id){    return document.getElementById(id);  }  css: function(id,key,value){    get(id).style[key] = value;  }}// B程序員的命名空間var B = {  get: function(className){    return document.getElementByClassName(className)[0];  }  css: function(className,key,value){    get(className).style[key] = value;  }}

A、B兩個命名空間中都有一個get方法和一個css方法,用于元素獲取和元素樣式修改,不同的是A是通過id來獲取元素,而B是通過class來獲取元素,通過命名空間,可以使這些相同名稱的方法共存,使用時指定相應的命名空間即可。

模塊化

JavaScript中單例模式除了定義命名空間之外,還可用于管理代碼庫的各個功能模塊。例如:

google.dom.addClass       // 添加元素類google.dom.append        // 插入元素google.event.stopPropagation  // 阻止事件冒泡google.event.preventDefault   // 阻止默認行為google.string.trim       // 去除字符串首尾空格google.string.encodeHTML    // 將字符串進行HTML編碼

以上各個模塊都位于google命名空間下,每個模塊都有屬于自己的方法,使用時只需按照需求調用特定功能模塊下對應的方法即可。

常量

JavaScript中并沒有final、static這類關鍵字用來定義常量,但JavaScript非常靈活,通過常量只能訪問不能修改這一特點,我們可以將變量保存在函數內部,并且只提供獲取變量的方法,不提供設置變量的方法,通過閉包的方式使函數執行一次并返回相應的訪問方法對象,最后將這個對象放在全局空間中作為常量單例對象使用。例如:

var Color = (function(){  // 私有變量  var color = {    'RED': '#ff0000',    'YELLOW': '#ffff00',    'BLUE': '#0000ff'  }  // 返回訪問方法對象  return {    // 常量獲取方法    get: function(name){      return color[name] ? color[name] : null;    }  }})();var color = Color.get('BLUE');console.log(color);  // #0000ff

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 罗甸县| 临西县| 碌曲县| 广宗县| 甘洛县| 青河县| 青龙| 营口市| 商南县| 东乌珠穆沁旗| 察隅县| 罗山县| 潮州市| 苗栗县| 涞源县| 策勒县| 西吉县| 磴口县| 普兰县| 南雄市| 新余市| 嫩江县| 平乐县| 门头沟区| 鄯善县| 申扎县| 五常市| 和林格尔县| 泗水县| 惠东县| 绵阳市| 丰都县| 邵东县| 小金县| 鹿邑县| 林周县| 阿瓦提县| 襄垣县| 濮阳市| 农安县| 含山县|