1. 闭包的概念
通俗理解:闭包是能够读取其他函数内部变量的函数;
闭包 = 内层函数 + 引用的外层的函数变量 ; 即内层函数引用外层函数的变量就构成了闭包。
闭包作用:闭包可以保护函数的私有变量不受外部的干扰,将上级作用域的引用保存下来,实现方法和属性的私有化。
常见的创建闭包的方式:在一个函数内部嵌套函数,内部函数引用外层函数中定义的变量;如下图所示:
//闭包 1: 2-5 行构成一个闭包
1 function outer() {
2 let name = 'andy';
3 return function() {
4 console.log(name);
5 }
6 } outer()();
//闭包 2: 2-6 行构成一个闭包