SOURCE

// 闭包应用: 函数作为参数被传递:
function print(fn) {
  const a = 200;
  fn();
}

const a = 100;
function fn() {
  console.log('a:'+a);
}

print(fn); // 100

// 闭包:自由变量的查找,
// 是在函数定义的地方,
// 向上级作用域查找。不是在执行的地方。

// 函数作为返回值被返回:
function create() {
  const b = 100;

  return function () {
    console.log('b:'+b);
  };
}

const fn2 = create();
const b = 200;
fn2(); // 100

console 命令行工具 X clear

                    
>
console