闭包

大函数内部有小函数,小函数内部调用大函数的参数。

方法一

function myTool(){var money = 1000;function get() {money += 1;}function send() {money -= 1;}return{'get':get,'send':send}
}

方法二

(function (w) {var money = 1000;function get() {money += 1;}function send() {money -= 1;}w.myTool = {'get':get,'send':send}
})(window);

解释

  1. 两种方法均写在myTool.js中

  2. 使用第一种方法的时候,引入myTool.js后,调用的时候代码如下:

    var toolObj = myTool();
    toolObj.get();
    toolObj.send();
    
  3. 使用第二种方法的时候,实际上相当于将myTool方法加入到了window中,在全局任何地方,直接使用myTool.get或myTool.send即可调用内部的方法。

    myTool.get();
    myTool.send();
    

Javascript:利用闭包封装模块相关推荐

  1. 如果理解Javascript利用闭包循环绑定事件

    我们先看一个关于Javascript利用循环绑定事件的例子: 例如:一个不确定长度的列表,在鼠标经过某一条的时候改变背景. <!DOCTYPE html PUBLIC "-//W3C/ ...

  2. JavaScript中闭包实现的私有属性的getter()和setter()方法

    注意: 以下的输出都在浏览器的控制台中 <!DOCTYPE html> <html> <head><meta charset="utf-8" ...

  3. matlab 仿真元件封装,利用M文件与封装模块简化Simulink仿真模型.pdf

    第27卷 第10期 计算机工程 2001年10只 V(,{.27N010 ComputerEngineering October2001 立献标识码:" ·软件技术与数据库· 文童编号:10 ...

  4. JavaScript 的闭包用于什么场景

    本文翻译自 MDN ( Mozilla Developer Network ): 原文地址:MDN 译文地址:shixinzhang 的博客 读完本文你将了解到: 词法作用域 闭包 闭包实战场景之回调 ...

  5. JavaScript的闭包与应用

    为什么80%的码农都做不了架构师?>>>    (一)什么是闭包? 闭包就是函数的局部变量集合,只是这些局部变量在函数执行结束后会继续存在(仍然能被外部访问),即函数的"堆 ...

  6. java模块是什么6_Java 9 揭秘(6. 封装模块)

    Tips 做一个终身学习的人. Java 9 在这章节中, 主要介绍以下内容: 封装Java模块的不同格式 JAR格式增强 什么是多版本JAR 如何创建和使用多版本JAR JMOD是什么格式 如何使用 ...

  7. JavaScript:闭包

    在说JavaScript中闭包概念之前,我们先来了解一下作用域和变量生命周期的问题.作用域在前面的博客中有提到,大家可以点击查看一下,关于变量的生命周期,什么是生命周期?也就是变量从创建到销毁的一个过 ...

  8. 【重识前端】闭包与模块

    最近在写[重拾前端]系列,下面有几个快速通道,大家自取 [重识前端]原型/原型链和继承 [重识前端]闭包与模块 [重识前端]全面攻破this [重识前端]一次搞定JavaScript的执行机制 [重识 ...

  9. 荣耀发布标志性旗舰智能手机Magic3系列;环旭电子为小型物联网设备推出双核蓝牙5.0天线封装模块 | 全球TMT...

    新品 荣耀发布全新荣耀Magic3系列手机,这是标志性旗舰智能手机系列,包括荣耀Magic3.荣耀Magic3 Pro和荣耀Magic3至臻版这三款手机.耀Magic系列采用同类最佳多主摄计算摄影技术 ...

  10. sizzle.js学习笔记利用闭包模拟实现数据结构:字典(Map)

    sizzle.js学习笔记利用闭包模拟实现数据结构:字典(Map) 这几天学习和查看了jQuery和Property这两个很流行的前端库的御用选择器组件Sizzle.js的源代码,收获还是相对多的!之 ...

最新文章

  1. 直播 | 清华大学李一鸣:后门攻击简介
  2. 用sfc命令修复Windows7的系统文件
  3. wampserver3.2.0_MySQL 8.0 技术详解
  4. 七日瘦身汤绝妙配方 - 生活至上,美容至尚!
  5. 普通人在家做什么兼职工作(推荐5个可以在家做的副业)
  6. 将base64指纹编码输出为指定大小的图片
  7. 河北楚纳-防电瓶车进入电梯报警系统
  8. 成都市2016年11月出租车订单od数据
  9. java实现抛物线轨迹计算_JavaFX中抛物线轨迹的时间线
  10. iOS开发 - ANPs推送通知
  11. 部署 redis 和基本操作
  12. vscode 使用手册(keil)
  13. 数学基础知识:数据统计
  14. 【渝粤题库】陕西师范大学202015 法律职业伦理 作业
  15. 快递查询(快递单号智能识别/快递公司+快递单号)-完整提供 Demo 代码示例及数据专业且全面的 API 查询接口
  16. To B业务与To C业务(产品),用户需求,产品文档,技术和业务
  17. DICOM:基于JMeter+dcm4che2测试PACS服务器性能的解决方案(前篇)
  18. 微信支付商户与服务商区别
  19. FishC《零基础学习python》笔记--第007、008讲、009讲:了不起的分支和循环1、2、3
  20. 天地图标注获取与修改并保存信息

热门文章

  1. 31.URL 管理(2)
  2. 17. jQuery - css() 方法
  3. bzoj1003[ZJOI2006]物流运输
  4. MiniProfiler工具介绍
  5. FastDFS+Nginx部署详细教程
  6. zabbix3.x web设置手册(2)
  7. 创建maven工程时总是带有后缀名Maven Webapp解决办法
  8. java.lang.IllegalStateException: No output folder
  9. C/C++ 知识点---链表操作
  10. 文件I/O(不带缓冲)之read函数