首先我想说的是我在javascript中搜索有关范围变量的一些信息(例如,JavaScript中的变量范围是什么?)我试图理解为什么我的代码表现得那样,但最后我真的不知道.我无法在函数中覆盖函数中的var a,我只能使用a = 6;without var来实现.为什么在if语句和覆盖此变量之前未定义?为什么没有这样的结果:
五
等于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();
Run Code Online (Sandbox Code Playgroud)