前端面试闭包(转)

闭包:指外部可以访问函数内部变量的一种实现方法,通过闭包让我们将函数内部外部联系到一起
闭包的两种形式
·1、函数作为返回值
 2、函数作为参数

闭包的变量是针对于函数创建的地方,而不是函数使用的时候

// 函数作为返回值
// 实例一
function test() {
let a = 1;
return function() {
return a;
}
}
let temp = test();
console.log(temp()) // 1

// 函数作为参数
// 实例二
function test(fn) {
fn()
}
let a = 1;
function fn() {
console.log(a)
}

test()

转自:https://blog.csdn.net/qq_43238599/article/details/104951725

原文地址:https://www.cnblogs.com/listenerxx/p/14707791.html