var x = 3;
var y = 4;
var obj = {
x: 1,
y: 6,
getX: function () {
var x = 5;
return function () {
return this.x;
}();
},
getY: function () {
console.log(this);
console.log(window.y);
var y = 7; //这个var
console.log(window.y);
return this.y;
}
}
console.log(obj.getX()) // 3
console.log(obj.getY()) // 6
答案倒是能理解 我想问一下var y = 7 为什么没有变量提升改变全局变量中的y的值。
另外这里定义的y是哪里的变量
var y = 7;
是getY
这个函数内部作用域中的变量,不在全局作用域中