我有一个代码块
var x = 3;
var foo = {
x: 2,
baz: {
x: 1,
bar: function() {
return this.x;
}
}
}
var go = foo.baz.bar;
console.log(go());
console.log(foo.baz.bar());
对我来说,go()
和foo.baz.bar()
应该输出相同的数字。但是,这没有发生。它正在输出3
和1
。为什么代码以这种方式工作?