javascript

位置:IT落伍者 >> javascript >> 浏览文章

javascript闭包的高级使用方法实例


发布日期:2023年11月06日
 
javascript闭包的高级使用方法实例
这篇文章介绍了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() 开锁实现内部变量的私有化我认为这样实现并不是最好的但是我们可以学习下这个开锁闭锁的功能

               

上一篇:javascript 手动给表增加数据的小例子

下一篇:jQuery随便控制任意div隐藏的方法