这行是在创建全局变量吗?
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
的变量,并且使用其他四个变量而不声明它们,因此它们是全局变量。