不好意思我漏了一些代码,现在已更正:
以下一段代码:
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
为什么会有这种错误呢?
这个明明是正常的啊