先说一些闭包的概念:
百度百科上有一些概念,我是看不懂,我用自己的话来说吧。闭包就好像是局部变量一样,不过这里是对象,在这一段代码块中可以不光可以访问到自己内部的变量,而且还可以访问到外部引用环境的变量。这就是简单的理解。原理在维基百科上的有闭包(也成词法闭包或函数闭包)是指一个函数或一个函数的引用,与一个引用环境绑定在一起,这个引用环境是一个存储该函数每个非局部变量(也叫自由变量的)表。
闭包引用的是整个变量对象
关键是闭包的一些应用:在ajax的jquery写法中的
success:function(){
console.log(localData);
}
封装:
(function(){
var userId = 223;
function converter(add){
return +userId;
}
export.getUserId(){
return userId;
}
window.export = export;
})();
暴露的一些方法,然后就可以在外面访问了。
但有一些问题需要注意:
1.内存泄露
2.空间浪费
3.性能消耗
在我们使用的时候要考虑这些东西。