闭包是什么?运用在那些地方?
闭包是什么?运用在那些地方?
闭包理解:
- 闭包就是函数中的函数、里面的函数可以访问外面函数的变量、外面的变量是这个内部函数中的一部分。
- 函数a中有一个函数b、函数b可以访问函数a中的变量或者数据、此时形成了闭包
闭包形成的条件:
- 函数嵌套
- 内部函数访问外部函数的变量
- 内部函数被外部引用
闭包作用:
- 形成不被销毁的执行空间
- 延长变量的生命周期
- 可以实现js模块
- 缺点:使用过多引起内存溢出
使用两个文件来说明闭包
index.html
<script type="text/javascript" src="myModule.js"></script>
<script type="text/javascript">
myModule2.doSomething()
myModule2.doOtherthing()
</script>
myModule.js
(function () { //自调用函数,特点:只执行一次 var msg = 'Beijing'//私有数据 //操作数据的函数 function doSomething() { console.log('doSomething() '+msg.toUpperCase()) }function doOtherthing () { console.log('doOtherthing() '+msg.toLowerCase()) }//向外暴露对象(给外部使用的两个方法) window.myModule2 = {doSomething: doSomething,doOtherthing: doOtherthing } })()
闭包的应用场景?
- 函数防抖
- 回调
闭包是什么?运用在那些地方?相关推荐
- 深入理解Python闭包概念
闭包并不只是一个Python中的概念,在函数式编程语言中应用较为广泛.理解python中的闭包一方面是能够正确的使用闭包,另一方面可以好好体会和思考闭包的设计思想. 1.概念介绍 首先看一下维基上对闭 ...
- JavaScript闭包如何工作?
您将如何向了解其闭包概念(例如函数,变量等)的人解释JavaScript闭包,但却不了解闭包本身? 我已经在Wikipedia上看到了Scheme示例 ,但是不幸的是它没有帮助. #1楼 我知道已经有 ...
- javascript闭包,你大爷永远是你大爷
闭包 what 's the fuck 闭包,是什么鬼,谁学谁都脑进水! 我会用5W3H1TS的方式,去讲闭包 1. what 一个函数,记住自己定义时的"词法作用域",就产生了闭 ...
- Dart微基准测试第一部分
在过去的几个月里,我开始收到越来越多关于某些特定 Dart 操作性能的问题.以下是Romain Rastel在他关于提高 Flutter中 ChangeNotifier 性能的工作的背景下提出的此类问 ...
- 前端面试题及答案(一)
前端 一.对闭包的理解,以及哪些地方用过闭包,以及闭包的缺点 闭包 是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变 ...
- 【搜集】前端面试题总结
[搜集]前端面试总结 CVTE面试(一面) 作者:灵活的死胖子 链接:https://www.nowcoder.com/discuss/88897?toCommentId=1514882 来源:牛客网 ...
- swift4.0语法杂记(精简版)
小视频 001--swift简史小视频 002--Playground体验 003--常量&变量 一.swift简史 1.介绍 swift是苹果公司于2014年推出用于撰写OS和iOS应用程序 ...
- swift4.0语法杂记
原文地址:https://www.jianshu.com/p/06b9ddf748f7 (如有侵权,请联系我删除.) 小视频 001--swift简史小视频 002--Playground体验 003 ...
- 详细介绍javascript中的单体模式singleton(全面)
一.单体模式描述 1.单体模式是javascript中最基本但又最有用的模式之一,他可能比其他任何模式都常用. 2.这种模式提供了一种将代码组织为一个逻辑单元的手段,这个逻辑单元中的代码可以通过单一的 ...
- JavaScript 高级3 :函数进阶
JavaScript 高级3 :函数进阶 Date: January 19, 2023 Text: 函数的定义和调用.this.严格模式.高阶函数.闭包.递归 目标: 能够说出函数的多种定义和调用方式 ...
最新文章
- python 柱状图 保存_我如何从数据库中存储直方图数据?
- information_schema中的所有表和视图
- 第十一天2017/04/25(1、二叉树)
- ant design中的栅格化系统
- python第七章_python 第七章 模块
- 猪八戒玉华王:老码农的7项灵魂思考
- Linux服务器编程 用SIGURG检测带外数据是否到达
- HDF5快速上手全攻略
- 阶段3 2.Spring_10.Spring中事务控制_5 spring事务控制的代码准备
- xampp apache windows10 同一局域网下他人访问本地项目
- Purftpd的详细安装配置
- 编程:中国有句俗话“三天打鱼两天晒网”,某人从1990年1月1日起三天打鱼两天晒网,编程计算他在某一天是打鱼还是晒网
- wxpython动态实时绘图_wxPython实现画图板
- 6款程序员必备的免费在线画图工具,贼好用!
- ASEMI代理AD9833BRMZ-REEL原装ADI车规级AD9833BRMZ-REEL
- ubuntu 10.10五笔、rar解压及gedit乱码问题的解决
- IntelliJ IDEA设置编码格式
- Python学习资料全面总结,真的对零基础很有用
- GPS时钟系统,GPS同步时钟系统
- 用Matlab解决数学问题