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。
我了解以下函数中的变量将仅在该函数中可用;
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。