什么是闭包?
当内部函数被外部函数返回并保存时,一定会产生闭包。闭包会产生原来的作用域链不释放,过度的闭包可能会导致内存泄漏或加载过慢。
闭包基础代码分析
function test1(){
function test2(){
var b = 2;
console.log(a);
}
var a = 1;
return test2;
}
var c= 3;
var test3 = test1();
test3();
function test(){
var n = 100;
function add(){
n++;
console.log(n);
}
function reduce(){
n--;
console.log(n);
}
return [add,reduce]
}
var arr = test()
arr[0]();
arr[1]();
function sayHello(){
var myName = '' ;
var operation = {
setName: function(name){
myName = name
},
showName:function(){
console.log('你好,我叫'+myName);
}
}
return operation;
}
var sayHello = sayHello();
sayHello.setName('张三');
sayHello.showName();
闭包有什么用
现在感觉闭包就是里面的函数来操作外面的变量。后端可以给外面的函数传一个参,然后通过里面的函数对其进行处理,之后返回前端。继续学习中。。。