这行是在创建全局变量吗

Is this line creating globals?

本文关键字:全局变量 创建      更新时间:2023-09-26

这行是在创建全局变量吗?

var first=second=third=fourth=fifth="Hello, ";

我不完全确定如何测试它:)

first将被声明为局部变量,但其他变量将是全局变量。

要解决此问题,请尝试以下操作:

var first, second, third, fourth, fifth;
first = second = third = fourth = fifth = "Hello, ";

或者全部在一行:

var first, second, third, fourth, fifth = fourth = third = second = first = "Hello, ";

是的,在这种情况下,除了first之外,其他都是全局的。您可以通过运行在浏览器控制台中进行测试

(function() { var x = y = 1; })();
console.log(y); // 1

也许您想要var y, x = y = 1;

第一个是本地的,其余的是全局的。请参阅JS Fiddle中的此脚本。

是的,首先声明变量:

var first,second,third,fourth,fifth;
first=second=third=fourth=fifth="Hello, ";

将执行相同的操作,只是变量都将在预期范围内。

按照您的方式,您只声明一个名为first的变量,并且使用其他四个变量而不声明它们,因此它们是全局变量。