这应该引用对象本身但在下面的代码中为什么它的行为不同?
var x = 4,
obj = {
x: 3,
bar: function() {
var x = 2;
setTimeout(function() {
var x = 1;
alert(this.x);
}, 1000);
}
};
obj.bar();
Run Code Online (Sandbox Code Playgroud)
警报为什么4而不是3?