javascriptの作用領域について

361 ワード

今日の親友は私に道javascriptの筆記試験問題を出しました.コードは次の通りです.
function test(){

	var a = b = 2;

}

test();

alert(b);

alert(a);

このコードを見て、笑いました.間違えたと答えました.a、bは全部局所変数ですから、a and b is not definedです.そして友達が笑って、迷っています.私が間違っていますか?10数秒ためらって、もとはaは局部変数で、bはtestの中で声明していないで、だから大域変数で、とても明らかで、このような情況の下で、実行の情況はb=2であるべきで、a is not defined;あとで考えてみると、自分は本当に思考の厳格さに欠けています.