<分区>
我在面试中遇到了这个问题,我很好奇为什么这两个输出不同的东西:
(function() {
console.log(bar);
console.log(baz);
foo();
function foo() {
console.log('aloha');
}
var bar = 2;
baz = 3;
})();
输出:
undefined
Uncaught ReferenceError: baz is not defined
鉴于:
(function() {
console.log(bar);
console.log(window.baz);
foo();
function foo() {
console.log('aloha');
}
var bar = 2;
baz = 3;
})();
输出:
undefined
undefined
'aloha'
baz
和window.baz
的引用方式有何不同?我虽然全局变量自动附加到窗口?