関数内で宣言されたときに変数がなぜ奇妙に動作するのか理解できません。
で
first
機能私は宣言しlet
た変数b
とc
値で10:b = c = 10;
で
second
機能私が示しています。b + ", " + c
そしてこれは示しています:
10, 10
また、
first
関数a
では値10で宣言します。let a = b = c = 10;
しかし、
second
関数ではエラーが表示されます。変数が見つかりません:
a
今、
first
私d
は値20で宣言する関数で:var d = 20;
しかし、
second
関数では以前と同じエラーが表示されますが、変数はd
次のとおり。変数が見つかりません:
d
例:
function first() {
let a = b = c = 10;
var d = 20;
second();
}
function second() {
console.log(b + ", " + c); //shows "10, 10"
try{ console.log(a); } // Rreference error
catch(e){ console.error(e.message) }
try{ console.log(d); } // Reference error
catch(e){ console.error(e.message) }
}
first()
Dim Apple, Banana, Pear As Fruit
意味しDim Apple / Dim Banana / Dim Pear As Fruit
、ではないDim Apple As Fruit / ...
。
b
、グローバルを宣言しています。とにローカルです。c
var
a
d
first