这两者之间有什么区别a =' abc' var b =' abc';

时间:2017-07-10 21:55:31

标签: javascript

这两行代码之间的区别?

a = 'abc'; 

var b = 'abc';

它们只是不同的变量吗?是吗?

我想说这是,但我只是在学习。

2 个答案:

答案 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。