闭包
闭包主要就是提升函数中变量的作用域,首先要理解作用域
函数作为返回值
function F1() {
var a = 100;
//返回一个函数(函数作为返回值)
return function () {
console.log(a);//自由变量,父作用域中查找
}
}
//f1得到一个函数
var f1 = F1();
var a = 200;
f1();函数作为参数传递
function F1() {
var a = 100;
return function () {
console.log(a); //自由变量,父作用域中查找
}
}
var f1 = F1();
function F2(fn) {
var a = 200;
fn();
}
F2(f1);实际开发中闭包的应用,主要作用于封装变量,收敛权限
最后更新于
这有帮助吗?