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

首頁 > 編程 > JavaScript > 正文

javascript自執行函數之偽命名空間封裝法

2019-11-21 00:01:51
字體:
來源:轉載
供稿:網友
自執行函數:自動執行的函數。它在被解釋時就已經在運行了。一般函數都是在被調用時才會執行的。
自執行函數的一般格式:(function() { 函數體 })();
而且,自執行函數中一般都會有一個function() {}形式的匿名函數。

下面的代碼在window對象中創建一個命名空間 mySpace,并把自執行函數中的方法封裝在mySpace命名空間之下,以便于我們調用這個自執行函數中的一些功能。
復制代碼 代碼如下:

(function() {
//根據id獲取對象
function $(id) { return document.getElementById(id); }

//內部函數,在外層是不可以調用的
function _setStyle(id, styleName, styleValue) {
$(id).style[styleName] = styleValue;
}

//創建偽命名空間
window.mySpace = {};

//將內部函數_setStyle封裝在mySpace命名空間內
//調用時,使用window.mySpace.setStyle(id, styleName, styleValue)
window.mySpace.setStyle = _setStyle;
})();

//下面是測試代碼
window.onload = function() {
//將id為test的對象的文字顏色設置為紅色
window.mySpace.setStyle("test", "color", "#f00");
}

那么這種封裝方式到底有何好處呢?

當然就是保護了自執行函數內的方法、變量、屬性等。這樣代碼更加安全了。

如果不使用這種方法,那么,下面的方法也可以實現的。
復制代碼 代碼如下:

window.mySpace = {};
window.mySpace.$ = function(id) { return document.getElementById(id); }
window.mySpace.setStyle = function(id, styleName, styleValue) {
window.mySpace.$("test").style[styleName] = styleValue;
}
//下面是測試代碼
window.onload = function() {
window.mySpace.setStyle("test", "backgroundColor", "#f00");
window.mySpace.setStyle("test", "color", "#fff");
}

上面的代碼和自執行函數實現的功能其實是一樣的。

比較之后,我們可以發現,第二方法更加的直觀,易于理解。但是少了封裝過程,代碼完全裸露在外。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌吉市| 南漳县| 彭山县| 顺昌县| 象州县| 吴江市| 都昌县| 永和县| 赣榆县| 邯郸县| 天等县| 开远市| 靖远县| 奉新县| 成安县| 和政县| 宣威市| 政和县| 黔江区| 来安县| 岳普湖县| 渝北区| 甘肃省| 溧阳市| 珠海市| 息烽县| 鄂托克旗| 正定县| 西安市| 仲巴县| 无棣县| 彭山县| 贵溪市| 苗栗县| 涟源市| 三原县| 积石山| 墨竹工卡县| 平乐县| 五峰| 灌南县|