定义:
简单来说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)
总结:
- 即使创建它的上下文已经销毁,它仍然存在(比如,内部函数从父函数中返回)
- 在代码中引用了自由变量
