JavaScript的一段代码运行问题

不好意思我漏了一些代码,现在已更正:

以下一段代码:

var foo = 'global'
var obj = {
  bar: {
    foo: 'bar-1',
    func2: function () {
      console.log(this)

      (function () {
        console.log(this.foo);
      }());
    }
  },
  func2: function() {
    (function () {
      console.log(this.foo);
    }());
  }
}
obj.func2() //输出'global'
obj.bar.func2() //报错

当运行obj.bar.func2()的时候会如下报错误:

{foo: "bar-1", func2: ƒ}
global
VM60:13 Uncaught TypeError: console.log(...) is not a function
    at Object.func2 (<anonymous>:13:7)
    at <anonymous>:24:9

为什么会有这种错误呢?

阅读 1.3k
1 个回答

测试.png

这个明明是正常的啊

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