js Uncaught TypeError: (intermediate value)

昨天去笔试的时候考了这道题:

var bo = 10;
function foo() {
  console.log(bo);
}
foo();

(function() {
  var bo = 20;
  foo();
})()

(function (func) {
  var bo = 30;
  func();
})(foo)

我回来的时候运行了一下,最后一个function发生了一个错误Uncaught TypeError: (intermediate value)(intermediate value)(...) is not a function at <anonymous>:12:1,这是什么意思?

当我单独运行最后一个函数的时候,又不会出错

var bo = 10;
function foo() {
  console.log(bo);
}
(function (func) {
  var bo = 30;
  func();
})(foo)
阅读 8k
1 个回答

加个逗号就不会报错了...应该是()无法自动识别为一个语句不会自动加分号

    var bo = 10;
    function foo() {
      console.log(bo);
    }
    foo();

    (function() {
      var bo = 20;
      foo();
    })();

    (function (func) {
      var bo = 30;
      func();
    })(foo);
    
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题