首先,我想說我正在搜索有關javascript範圍變量的一些信息(例如What is the scope of variables in JavaScript?),我試圖理解爲什麼我的代碼的行爲如此,但最後我真的不知道。我不能在函數中重寫var a,我只能使用a = 6;
而不使用var。爲什麼a在if語句之前未定義並覆蓋此變量?爲什麼會出現這樣的沒有結果:覆蓋javascript函數中的變量
等於5
等於6
我有這樣的事情,而不是:
不確定
不等於5
等於6
這裏是我的代碼:
var a = 5;
function something(){
console.log(a);
if(a == 5){
console.log('equal 5')
}
else{
console.log('not equal 5');
}
var a = 6;
function test(){
if(a == 6){
console.log('equal 6');
}
else{
console.log('not equal 6')
}
}
test();
}
something();