可能重複:
is there any Advantage of redeclaring javascript variables?聲明變量使用VAR分配後至可變
爲什麼以下代碼顯示器1而不是未定義:
a = 1;
var a;
alert(a);
可能重複:
is there any Advantage of redeclaring javascript variables?聲明變量使用VAR分配後至可變
爲什麼以下代碼顯示器1而不是未定義:
a = 1;
var a;
alert(a);
1) var
不重新聲明或刪除變量
2)即使它,你的代碼被改寫*使用JavaScript提升規則(任何變量或函數聲明被移到最近的封閉功能的頂部)如下:
var a;
a = 1;
alert(a);
(*有效改寫;請參閱RobG關於輸入執行上下文的註釋和鏈接以進行說明)
爲什麼你會_think_它應該提醒'undefined'?你已明確指定'a'! –
我最初的假設是變量將被重新聲明。我通過運行代碼知道作業仍然存在,但不知道爲什麼。我想我可以放棄'而不是未定義'部分,但認爲它會添加一些上下文。 – markm247