我不明白为什么变量在函数内部声明时表现得如此奇怪。
在 first
函数中,我用 let
声明变量 b
和 c
,值为 10:
b = c = 10;
在 second
函数中,我显示:
b + ", " + c
这里显示:
10, 10
Also in first
function I declare a
with value 10:
let a = b = c = 10;
但在 second
函数中,它显示了一个错误:
找不到变量:
a
现在在 first
函数中,我用值 20声明 d
:
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()