Javascript变量声明是简写使变量全局变量还是本地变量?

时间:2016-01-05 04:34:50

标签: javascript variables scope shorthand

据我所知,以下函数中的变量只能在此函数中使用;

function(){
    var x;
    var y;
    var z = 3;
});

但我不知道以下的简写。它们的范围是什么? (Y和Z)

function(){
    var x, y, z=3;
});

如果有什么我可以在某处阅读有关此简写的内容,请提供链接。

感谢。

3 个答案:

答案 0 :(得分:2)

两者代表完全相同的东西,因此变量具有相同的范围。它们将在此函数内的任何位置定义。

您可以详细了解here

答案 1 :(得分:0)

声明没有var关键字的变量是全局变量。

不知道背后的原因。但我已经测试了这个。

另外,在你的第二个例子中,变量对于该函数是局部的,因为你已经使用var作为第一个变量,并且使用逗号继续。

试试这个例子

var a=10:
Function test()
{c=11; var b=12; a=0;}

    console.log(a);
    test();
    console.log(a);
    console.log(b);
    console.log(c);

答案 2 :(得分:0)

在javascripts中, 如果为尚未声明的变量赋值,它将自动成为GLOBAL变量。

在你的情况下,你声明然后分配值(var x,y,z = 3)。

它们都只在本地范围内。

要了解有关范围的更多信息,您可以浏览W3School

相关问题