×

新手头疼问题:对于闭包和作用域的理解

提问者:web1762023.07.19浏览:2128

新手头疼问题:对于闭包和作用域的理解。

闭包是作用域应用的特殊场景。 js中常见的作用域包括全局作用域、函数作用域、块级作用域。要知道js中自由变量的查找是在函数定义的地方,向上级作用域查找,不是在执行的地方。 常见的闭包使用有两种场景:一种是函数作为参数被传递;一种是函数作为返回值被返回。

// 函数作为返回值
function create() {
    let a = 100;
    return function () {
      console.log(a);
    };
  }
 
  const fn = create();
  const a = 200;
  fn(); // 100
 
  // 函数作为参数被传递
  function print(fb) {
    const b = 200;
    fb();
  }
  const b = 100;
  function fb() {
    console.log(b);
  }
  print(fb); // 100

您的支持是我们创作的动力!

网友回答文明上网理性发言 已有0人参与

发表评论: