发布时间:2022-09-01 01:00
一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)
也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域
在 JavaScript
中,每当创建一个函数,闭包就会在函数创建的同时被创建出来,作为函数内部与外部连接起来的一座桥梁
下面给出一个简单的例子
function init() {
var name = "Mozilla"; // name 是一个被 init 创建的局部变量
function displayName() { // displayName() 是内部函数,一个闭包
alert(name); // 使用了父函数中声明的变量
}
displayName();
}
init();
displayName()
没有自己的局部变量。然而,由于闭包的特性,它可以访问到外部函数的变量
任何闭包的使用场景都离不开这两点:
创建私有变量
延长变量的生命周期
vscode打开自动提示_Python编程的最好搭档:VSCode 详细指南
学习笔记( 11 ) - 解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect
HTML和CSS、JavaScript规范 第一部分(CSS部分)
微服务SpringCloud开弓之Zookeeper服务注册与发现《四》
vue项目中解决eslint与prettier同时使用时校验冲突问题
【云原生丨Docker系列3】Docker容器的基本操作方法
论述《区块链智能合约的合同效力认定》去中心化金融的钞能力赛道