闭包指能够读取其他函数内部变量的函数。在JS中,只有函数内部的子函数才能读取局部变量,所以闭包也可以理解成“定义在一个函数内部的函数”。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。
// 为了更好说明闭包,创建一个闭包
function hello(){
// 函数执行完毕,变量仍然存在
var num=100;
var showResult=function(){alert(num);}
num++;
return showResult;
}
var showResult=hello();
console.log(showResult); //hello里的showResult
showResult(); //执行结果:弹出101