ローカルスコープに問題があります。 2番目のconsole.logは "a"値を表示しませんが、未定義を示します。なぜそうなのか?ローカルスコープがグローバル変数を参照しないのはなぜですか?
"use strict"
console.log(a); //undefined
var a = "a";
function b(){
console.log(a); // why is undefined here?
var a = "a1";
console.log(a); // here is "a1"
}
b();
に二 'var'を削除これは、あなたがそれを実行しているときにどのように見えるかです_redeclare_ itではなく、グローバル 'var a'に値を割り当てます。 –
var aは関数内でもグローバルスコープです。なぜなら、あなたは両方とも宣言しています。 – nisar
あなたの兄弟と友人の両方が「ボブ」と命名されている場合は、両方で車に乗ることに特化する必要があります。 – dandavis