我想知道一些作用域行爲。JavaScript意外變量作用域行爲
例如我具有可變的和的函數:
var test = 1;
function scope(){
alert(test);
test=2;
}
scope();
alert(test);
這將顯示1和2沒有問題。但如果我這樣做:
var test = 1;
function scope(){
alert(test);
var test = 2;
}
scope();
alert(test);
這將顯示'未定義'和'1'。爲什麼變量會以「未定義」出現?
因爲隨着範圍內定義的測試仍然具有未被賦值。 –
請閱讀有關**吊裝的信息。** –
[Global JavaScript變量作用域:爲什麼這不起作用?](http://stackoverflow.com/questions/2685388/global-javascript-variable-scope-why -doesnt-this-work) –