我在接受採訪時得到了這個問題,我很好奇,爲什麼兩個輸出不同的東西:的Javascript全球引用錯誤
(function() {
console.log(bar);
console.log(baz);
foo();
function foo() {
console.log('aloha');
}
var bar = 2;
baz = 3;
})();
。OUPUTS:
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
被引用的方式有什麼不同?我雖然全局自動附加到窗口?
我認爲真正的問題是爲什麼記錄'bar'不會拋出錯誤。至少我對此很好奇。 – alalp
當你的問題只是關於'baz'和'window.baz'之間的區別時,你爲什麼需要發佈所有其他代碼? – Barmar
因爲這是我逐字問到的。我想我可以刪除其他的東西。 – moesef