熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

javascript閉包的高級使用方法實例

2013-11-15 12:00:00  來源: JSP教程 
這篇文章介紹了javascript閉包的高級使用方法實例有需要的朋友可以參考一下  

  擴展
Code:

復制代碼 代碼如下:
var blogModule = (function (my) {
 myAddPhoto = function () {
//添加內部代碼
 };
 return my;
}(blogModule));

  
Say:
將自身傳進方法然後實現了方法的擴展有點象零件組裝啊
Code:

復制代碼 代碼如下:
var blogModule = (function (my) {var oldAddPhotoMethod = myAddPhoto;
 myAddPhoto = function () {  // 重載方法依然可通過oldAddPhotoMethod調用舊的方 }; return my;}(blogModule));

  
Say:
好處就是可以調用以前的方法
克隆與繼承
Code:

復制代碼 代碼如下:
var blogModule = (function (old) { var my = {} key; for (key in old) { if (oldhasOwnProperty(key)) { my[key] = old[key]; } } var oldAddPhotoMethod = oldAddPhoto; myAddPhoto = function () { // 克隆以後進行了重寫當然也可以繼續調用oldAddPhotoMethod }; return my; } (blogModule));

  
Say:
簡單的克隆實現
跨文件共享私有對象
Code:

復制代碼 代碼如下:
var blogModule = (function (my) { var _private = my_private = my_private || {} _seal = my_seal = my_seal || function () { delete my_private; delete my_seal; delete my_unseal; } _unseal = my_unseal = my_unseal || function () { my_private = _private; my_seal = _seal; my_unseal = _unseal; }; return my; } (blogModule || {}));

  
Say:
blogModule_seal()上鎖_unseal() 開鎖實現內部變量的私有化我認為這樣實現並不是最好的但是我們可以學習下這個開鎖閉鎖的功能


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20062.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.