javascript 闭包 通俗解释
代码段
function foo(){
var a = 2;
function bar(){
console.log(a);
}
return bar;
}
var baz = foo();
baz();
以上代码段就是闭包。
闭包使得函数可以继续访问定义时的词法作用域。
闭包实质:将内部函数传递到所在的词法作用域以外,内部函数仍然持有对原始定义作用域的引用。
once函数的实现:
function once(fn) {
let called = false
return function() {
if (!called) {
called = true
fn.apply(this, arguments)
}
}
}
作者:孟繁贵 Email:meng010387@126.com 期待共同进步!