1
以下javascript在Chrome和IE中可用,但在Firefox中出錯,因爲bar在分配給callBar時未定義。跨瀏覽器的Javascript函數範圍問題
那麼誰的範圍規則是正確的?
function foo() {
var callBar = bar;
if (1 === 1) {
callBar();
function bar() {
alert('yo');
}
}
}
foo();
雖然這是一個有趣的腦筋急轉彎,你真的有這樣的代碼嗎?函數(應該)被掛起,因此有條件地定義它們是沒有意義的。 –