学习JavaScript高级知识中的闭包:
由此见到一篇文章
「每日一题」JS 中的闭包是什么? - 知乎 (zhihu.com)
似乎愈是想搞清楚整明白,愈是烦乱,于是从最简单的闭包的概念到它的用法,它的作用,它的原理一点点慢慢梳理
概念:
在函数作用域中,内部函数引用其外部的数据(变量,函数)
function fun(){//该函数创建了函数作用域
let f1 = 3;
function fun2(){//内部函数
console.log(f1);//内部函数引用其外部的变量
}
}
常见用法:
1.在函数作用域中,外部函数的返回值为内部函数
2.将函数作为实参调用.例:setTimeout(函数,time),clearTimeout(函数,time)
作用:
1.延迟局部变量生命周期
2.函数外部的数据 读取 到函数作用域中的数据