Javascript:利用闭包封装模块
闭包
大函数内部有小函数,小函数内部调用大函数的参数。
方法一
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);
解释
两种方法均写在myTool.js中
使用第一种方法的时候,引入myTool.js后,调用的时候代码如下:
var toolObj = myTool(); toolObj.get(); toolObj.send();
使用第二种方法的时候,实际上相当于将myTool方法加入到了window中,在全局任何地方,直接使用myTool.get或myTool.send即可调用内部的方法。
myTool.get(); myTool.send();
Javascript:利用闭包封装模块相关推荐
- 如果理解Javascript利用闭包循环绑定事件
我们先看一个关于Javascript利用循环绑定事件的例子: 例如:一个不确定长度的列表,在鼠标经过某一条的时候改变背景. <!DOCTYPE html PUBLIC "-//W3C/ ...
- JavaScript中闭包实现的私有属性的getter()和setter()方法
注意: 以下的输出都在浏览器的控制台中 <!DOCTYPE html> <html> <head><meta charset="utf-8" ...
- matlab 仿真元件封装,利用M文件与封装模块简化Simulink仿真模型.pdf
第27卷 第10期 计算机工程 2001年10只 V(,{.27N010 ComputerEngineering October2001 立献标识码:" ·软件技术与数据库· 文童编号:10 ...
- JavaScript 的闭包用于什么场景
本文翻译自 MDN ( Mozilla Developer Network ): 原文地址:MDN 译文地址:shixinzhang 的博客 读完本文你将了解到: 词法作用域 闭包 闭包实战场景之回调 ...
- JavaScript的闭包与应用
为什么80%的码农都做不了架构师?>>> (一)什么是闭包? 闭包就是函数的局部变量集合,只是这些局部变量在函数执行结束后会继续存在(仍然能被外部访问),即函数的"堆 ...
- java模块是什么6_Java 9 揭秘(6. 封装模块)
Tips 做一个终身学习的人. Java 9 在这章节中, 主要介绍以下内容: 封装Java模块的不同格式 JAR格式增强 什么是多版本JAR 如何创建和使用多版本JAR JMOD是什么格式 如何使用 ...
- JavaScript:闭包
在说JavaScript中闭包概念之前,我们先来了解一下作用域和变量生命周期的问题.作用域在前面的博客中有提到,大家可以点击查看一下,关于变量的生命周期,什么是生命周期?也就是变量从创建到销毁的一个过 ...
- 【重识前端】闭包与模块
最近在写[重拾前端]系列,下面有几个快速通道,大家自取 [重识前端]原型/原型链和继承 [重识前端]闭包与模块 [重识前端]全面攻破this [重识前端]一次搞定JavaScript的执行机制 [重识 ...
- 荣耀发布标志性旗舰智能手机Magic3系列;环旭电子为小型物联网设备推出双核蓝牙5.0天线封装模块 | 全球TMT...
新品 荣耀发布全新荣耀Magic3系列手机,这是标志性旗舰智能手机系列,包括荣耀Magic3.荣耀Magic3 Pro和荣耀Magic3至臻版这三款手机.耀Magic系列采用同类最佳多主摄计算摄影技术 ...
- sizzle.js学习笔记利用闭包模拟实现数据结构:字典(Map)
sizzle.js学习笔记利用闭包模拟实现数据结构:字典(Map) 这几天学习和查看了jQuery和Property这两个很流行的前端库的御用选择器组件Sizzle.js的源代码,收获还是相对多的!之 ...
最新文章
- 直播 | 清华大学李一鸣:后门攻击简介
- 用sfc命令修复Windows7的系统文件
- wampserver3.2.0_MySQL 8.0 技术详解
- 七日瘦身汤绝妙配方 - 生活至上,美容至尚!
- 普通人在家做什么兼职工作(推荐5个可以在家做的副业)
- 将base64指纹编码输出为指定大小的图片
- 河北楚纳-防电瓶车进入电梯报警系统
- 成都市2016年11月出租车订单od数据
- java实现抛物线轨迹计算_JavaFX中抛物线轨迹的时间线
- iOS开发 - ANPs推送通知
- 部署 redis 和基本操作
- vscode 使用手册(keil)
- 数学基础知识:数据统计
- 【渝粤题库】陕西师范大学202015 法律职业伦理 作业
- 快递查询(快递单号智能识别/快递公司+快递单号)-完整提供 Demo 代码示例及数据专业且全面的 API 查询接口
- To B业务与To C业务(产品),用户需求,产品文档,技术和业务
- DICOM:基于JMeter+dcm4che2测试PACS服务器性能的解决方案(前篇)
- 微信支付商户与服务商区别
- FishC《零基础学习python》笔记--第007、008讲、009讲:了不起的分支和循环1、2、3
- 天地图标注获取与修改并保存信息
热门文章
- 31.URL 管理(2)
- 17. jQuery - css() 方法
- bzoj1003[ZJOI2006]物流运输
- MiniProfiler工具介绍
- FastDFS+Nginx部署详细教程
- zabbix3.x web设置手册(2)
- 创建maven工程时总是带有后缀名Maven Webapp解决办法
- java.lang.IllegalStateException: No output folder
- C/C++ 知识点---链表操作
- 文件I/O(不带缓冲)之read函数