javascript閉包的高級使用方法
擴展
Code:
複製代碼 代碼如下:
var blogModule = (function (my) {
hoto = function () {
//添加內部代碼
};
return my;
}(blogModule));
Say:
將自身傳進方法,然後實現了方法的擴展,有點象零件組裝啊
Code:
複製代碼 代碼如下:
var blogModule = (function (my) {var oldAddPhotoMethod = hoto;
hoto = function () { // 重載方法,依然可通過oldAddPhotoMethod調用舊的方 }; return my;}(blogModule));
Say:
好處就是可以調用以前的`方法。
克隆與繼承
Code:
複製代碼 代碼如下:
var blogModule = (function (old) { var my = {}, key; for (key in old) { if (wnProperty(key)) { my[key] = old[key]; } } var oldAddPhotoMethod = hoto; hoto = function () { // 克隆以後,進行了重寫,當然也可以繼續調用oldAddPhotoMethod }; return my; } (blogModule));
Say:
簡單的克隆實現
跨文件共享私有對象
Code:
複製代碼 代碼如下:
var blogModule = (function (my) { var _private = my._private = my._private || {}, _seal = my._seal = my._seal || function () { my._private; my._seal; my._unseal; }, _unseal = my._unseal = my._unseal || function () { my._private = _private; my._seal = _seal; my._unseal = _unseal; }; return my; } (blogModule || {}));
Say:
blogModule._seal()上鎖,_unseal() 開鎖,實現內部變量的私有化。我認爲這樣實現並不是最好的,但是我們可以學習下這個開鎖閉鎖的功能。
相關文章
-
使用ajax操作JavaScript對象的方法
通過請求獲取充分格式化的HTML雖然很方便,但這也意味着必須在傳輸文本內容的同時也 傳輸很多HTML標籤。有時候,我們希望能夠儘量少傳輸一些數據,然後馬上處理這些數據。在這種情況,我們希望取得能夠通過JavaScript進行遍 -
關於JavaScript substring()的使用方法
定義和用法substring() 方法用於提取字符串中介於兩個指定下標之間的字符。語法tring(start,stop)返回值一個新的字符串,該字符串值包含 stringObject 的一個子字符串,其內容是從 start 處到 stop-1 處的所有字符,其長度 -
詳解JavaScript中的splice()使用方法
定義和用法splice() 方法用於插入、刪除或替換數組的元素。 語法ce(index,howmany,element1,.....,elementX) 參數 描述index 必需。規定從何處添加/刪除元素。該參數是開始插入和(或)刪除的數組元素的下標,必須 -
Javascript中arguments對象的詳解和使用方法
一、arguments使用方法通過方括號語法訪問每一個元素var fun = function(one) { (arguments[0]); (arguments[1]); (arguments[2]);}fun(1, 2, 3)// 1// 2// 3通過length屬性,查看到底要幾個參數function fun() { ret -
關於JavaScript中的parse()的使用方法
關於JavaScript中的'parse()方法使用簡介Javascript e() 方法接受一個日期字符串,並返回自1970年1月1日午夜的毫秒數。語法e(datestring)注:括號內的數據是可選的下面是參數的詳細信息:datestring : 一個字符串,表示 -
JavaScript instanceof 的使用方法有哪些
在 JavaScript 中,判斷一個變量的類型嚐嚐會用 typeof 運算符,在使用 typeof 運算符時採用引用類型存儲值會出現一個問題,無論引用的是什麼類型的對象,它都返回 “object”。這就需要用到instanceof來檢測某個對象是不是 -
使用JavaScript實現Java的List功能
複製代碼 代碼如下:/*** js模擬java中的List*/var list = new Array();/*** 添加* @param {Object} object*/function add(object) {list[th] = object;}/*** 移除此列表中指定位置上的元素。* @param index 指定位置 -
關於異步JavaScript編程中的Promise使用方法
異步?我在很多地方都看到過異步(Asynchronous)這個詞,但在我還不是很理解這個概念的時候,卻發現自己常常會被當做“已經很清楚”(* ̄? ̄)。如果你也有類似的情況,沒關係,搜索一下這個詞,就可以得到大致的說明。在這裏,我會對Java -
Dreamweaver中JavaScript行爲操作使用方法
下面小編將爲大家介紹Dreamweaver中JavaScript行爲操作使用方的方法,希望可以幫助到您!更多內容請關注應屆畢業生考試網! 一、在頁面中附加JavaScript行爲的方法在Dreamweaver中,可以將行爲附加到整個文檔(即附加到 -
Javascript時間格式format函數的兩種使用方法
Javascript日期格式化在日常開發中還是挺常見的,那麼下面就給大家分享Javascript時間格式format函數的兩種使用方法示例,一起來看看。 方法一e=function(fmt) { var o = { "M+" : onth()+1, //月份 "d+" : ate(), //