javascript - 关闭不返回任何东西

标签 javascript

我正在读一本书,这里有一个关闭的例子

function newFunc(fn) {
    fn();
}

function foo() {
    var a = 2;

    function innerFunc() {
        console.log(a); // 2
    }

    newFunc(innerFunc);
}

但它不返回 2。控制台显示空白。这是为什么?

最佳答案

您需要调用 foo 函数,该函数将依次以 innerFunc 作为参数调用 newFunc

function newFunc(fn) {
  fn();
}

function foo() {
  var a = 2;

  function innerFunc() {
    console.log(a); // 2
  }

  newFunc(innerFunc);
}

foo(); // Invoke foo function

关于javascript - 关闭不返回任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34193144/

相关文章:

javascript - 如何用文件内容动态填充列表框?

javascript - 如何在这个随机背景js中连续两次不出现相同的bg

javascript - 为 React 和 Node Js 上传图像的最佳模块或解决方案是什么

javascript - 如何禁用CKEditor自动添加标签 'a'

javascript - AngularJS 模型绑定(bind)并将模型值传递给 Controller ​​方法

javascript - 使用 photoswipe 在 lightbox 中运行 iframe 视频

javascript - 选项不起作用的 Wallop

javascript - 将 jquery html 构造函数添加到另一个构造函数

javascript - 如何重用 EDGE.js 中的代码(nodeJS .NET 数据包)

javascript - 如何使用 leaflet.draw 从多边形获取区域字符串