这两行代码之间的区别?
a = 'abc';
var b = 'abc';
它们只是不同的变量吗?是吗?
我想说这是,但我只是在学习。
答案 0 :(得分:3)
第一个隐式创建一个全局变量,第二个创建当前范围内的变量。
答案 1 :(得分:1)
这取决于。
在全球范围内,没有区别。但是,如果您在本地范围内,则存在差异。
//Both global
var test1=1;
test2=2;
function first()
{
var test1 =-1; // Local: set a new variable independent of the global test1
test2 =3; // Change the test2 global variable to 2
console.log(test1); //will display -1 (local variable value)
}
function second()
{
console.log(test1); //will display 1 (global variable value)
}
在function first()
内,test1的值为-1,因为我们test1正在使用var
创建的局部变量,function second()
没有test1作为局部变量,因此它将显示1。