比较下面两个代码示例,为什么会像它们的结果一样发生? 如果块将没有范围?而功能将有自己的功能范围?
var x = 0;
function f() {
var x = y = 1; // Declares x locally; declares y globally.
}
f();
console.log(x, y); // 0 1
0 1
var x = 3;
if(x === 3) {
var x = 2;
console.log(x);
}
console.log(x);
2
2