一、闭包在开发中的应用
1、可以读取函数内部的私有变量,避免变量污染(可用来做插件)。
编写插件
var plugin = (function(){
var _sayhi = function(str = '你好啊!'){
console.log(str);
}
return {
SayHi : _sayhi
}
})(); //这里用了自执行函数
//使用插件
plugin('hello');
plugin();
2、让这些变量的值始终保持在内存中。
二、闭包的含义
function f1(){
var n=999;
function f2(){
alert(n);
}
return f2;
}
var result=f1();
result(); // 999
f2函数就是闭包
各种专业文献上的"闭包"(closure)定义非常抽象;
闭包就是能够读取其他函数内部变量的函数。
由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。
所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。
三、闭包的使用方式