我不明白为什么在函数内部声明变量时会表现得如此奇怪。
在
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
。