一. 什么叫闭包
闭包:闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内
部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在
本质上,闭包是将函数内部和函数外部连接起来的桥梁。
二. 闭包的特点
1. 让外部访问函数内部变量变成可能
2.局部变量会常驻在内存中
3.可以避免使用全局变量,防止全局变量污染;
三. 闭包的好处和坏处
好处:可以读取其他函数内部的变量,并将其一直保存在内存中。
坏处:可能会造成内存泄漏或溢出。
四. 实例
实例1:
//闭包的运用
function bus() {
var a = 1;//定义一个内部变量
return function() {
return a;//返回变量值a
};
}
var b = bus();
console.log(b());
创建闭包的方式就是在一个函数内部创建另一个函数
实例2:
function bus(){
vur a = 1,b = 2;
function abc(){//闭包
return a+b;//返回a+b的值
}
return abc;//返回闭包函数
}