定义:
简单来说js中所有function都是闭包,这个官方或者部分学说也不会认可,个人理解就是
能够访问自由变量的function就会形成闭包。
闭包使用场景
嵌套function语法
var scope = "global scope";
function checkscope(){
var scope = "local scope";
function f(){
return scope;
}
return f;
}
var foo = checkscope();
foo();
$.ajax
$.ajax({
url,
success:function(){//},
error:function(){//}
})
参考jquery语法
(function(win){
//
})(window)
总结:
- 即使创建它的上下文已经销毁,它仍然存在(比如,内部函数从父函数中返回)
- 在代码中引用了自由变量