闭包允许函数访问定义时的词法作用域
回调函数基本上都是闭包
模块利用闭包隔离变量,暴露公共API(也会伴随IIFE立即执行函数组合使用)
模块:
1、为创建内部作用域而调用了一个包装函数
2、包装函数的返回值必须至少包括一个对内部函数的引用,这样就会创建涵盖整个包装函数内部作用域的闭包
作用域链基于调用栈,this指向调用方。
这是由于动态作用域,在运行时确定。
块作用域的替代方案
try{
throw something;
} catch(a) {
a=2;
console.log(a);
}
具名函数比匿名函数更可取
网友评论