闭包:函数及其相关的引用环境组合而成的实体。
# 示例
其中,方法fun1的环境、两个变量、方法getName共同组成了闭包
function fun1() {
let firstName = 'hong'
let lastName = 'diandian'
function getName() {
return firstName+lastName
}
return {
getName: getName()
}
}
# 应用
- 小型模块化
- 模拟面向对象,对代码进行封装和抽象(上面例子将代码封装为一个对象返回调用)