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


Posted in Javascript onJuly 04, 2013

扩展
Code:

var blogModule = (function (my) {
 my.AddPhoto = function () {
//添加内部代码
 };
 return my;
}(blogModule));

Say:
将自身传进方法,然后实现了方法的扩展,有点象零件组装啊
Code:
var blogModule = (function (my) {var oldAddPhotoMethod = my.AddPhoto;
 my.AddPhoto = function () {  // 重载方法,依然可通过oldAddPhotoMethod调用旧的方 }; return my;}(blogModule));

Say:
好处就是可以调用以前的方法。
克隆与继承
Code:
var blogModule = (function (old) { var my = {}, key; for (key in old) { if (old.hasOwnProperty(key)) { my[key] = old[key]; } } var oldAddPhotoMethod = old.AddPhoto; my.AddPhoto = 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圆角插件
Oct 26 Javascript
jquery简单瀑布流实现原理及ie8下测试代码
Jan 23 Javascript
javascipt匹配单行和多行注释的正则表达式
Nov 20 Javascript
网页运行时提示对象不支持abigimage属性或方法
Aug 10 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
Mar 25 Javascript
学习AngularJs:Directive指令用法(完整版)
Apr 26 Javascript
Select下拉框模糊查询功能实现代码
Jul 22 Javascript
JavaScript订单操作小程序完整版
Jun 23 Javascript
javascript基于定时器实现进度条功能实例
Oct 13 Javascript
微信小程序methods中定义的方法互相调用的实例代码
Aug 07 Javascript
解决vue 子组件修改父组件传来的props值报错问题
Nov 09 Javascript
js+cavans实现图片滑块验证
Sep 29 Javascript
jquery获取被勾选的checked(选中)的那一行的3列和4列的值
Jul 04 #Javascript
JavaScript回调(callback)函数概念自我理解及示例
Jul 04 #Javascript
JS实现简单的Canvas画图实例
Jul 04 #Javascript
Jquery获取复选框被选中值的简单方法
Jul 04 #Javascript
jquery和javascript的区别(常用方法比较)
Jul 04 #Javascript
JS定时刷新页面及跳转页面的方法
Jul 04 #Javascript
浏览器打开层自动缓慢展开收缩实例代码
Jul 04 #Javascript
You might like
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
jquery插件制作教程 txtHover
2012/08/17 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
javascript计时器详解
2015/02/28 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
微信小程序 数据绑定详解及实例
2016/10/25 Javascript
JavaScript表单验证实现代码
2017/05/22 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
python调试神器PySnooper的使用
2019/07/03 Python
python调用支付宝支付接口流程
2019/08/15 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
幼教个人求职信范文
2013/12/02 职场文书
编辑找工作求职信分享
2014/01/03 职场文书
晚会邀请函范文
2014/01/24 职场文书
医药营销个人求职信
2014/04/12 职场文书
超市创业计划书
2014/09/15 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
幼儿园教师考核评语
2014/12/31 职场文书
办公室岗位职责范本
2015/04/11 职场文书
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL