JavaScriptの面接問題--変数の昇格とタイプの転換
564 ワード
var b=1;
function outer(){
var b=2;
function inner(){
b++;
console.log(b);
var b=3;
}
inner();
}
outer();
この面接問題の答えはNaNですか?なぜですか?長い間見ていても理解できないという意味で、急に分かりました.メモしてください.inner()この中の最初のコードはb++で、変数bを使って、最後にまた1つのvar b=3があります.変数が上昇し、
var b=1;
function outer(){
var b=2;
function inner(){
var b ;// b b undefined
b++;//b=b+1;undefined number ,b NaN
console.log(b);
b=3;
}
inner();
}
outer();
まとめ:この問題は変数の昇格とタイプの転換を試験します.