Javascript 变量声明 shorthand 是使变量成为全局变量还是局部变量?

Is the Javascript variable declaration shorthand making variables global or local?

我了解以下函数中的变量将仅在该函数中可用;

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

但我不知道 shorthand 中的以下内容。他们的范围是什么? (Y 和 Z)

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

如果有什么我可以去某处阅读的相关内容 shorthand 请提供 link。

谢谢。

两者代表完全相同的事物,因此变量具有相同的作用域。它们将在这个函数中的任何地方被定义。

您可以阅读更多相关信息 here

不带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);

在 javascript 中, 如果你给一个没有声明的变量赋值,它会自动成为一个GLOBAL变量。

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

它们都将只在本地范围内。

要了解有关作用域的更多信息,您可以浏览 W3School