2012-03-30 102 views
3

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

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

我不完全知道如何测试它:)

+0

您可以通过查看'window'来测试是否有东西是全局的。 '的console.log(window.first)'。 – 2012-03-30 16:03:35

+0

http://jsfiddle.net/ – 2012-03-30 16:04:06

+0

@火箭我会尝试,(顺便说一句,applejack>小指派) – Yim 2012-03-30 16:05:07

回答

3

first将被宣布为一个局部变量,但其他人将是全球性的。

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

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

或全部一行:

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

是的,所有,但first在这种情况下,全球性的。您可以通过运行

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

在浏览器的控制台测试也许你想var y, x = y = 1;

+0

不错的提示,使它成为一个班轮:) – Yim 2012-03-30 16:12:00

+0

单线班车 – 2012-03-30 16:23:38

1

的确是这样,首先声明变量:

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

会做除了变量同样的事情都将处于预期范围内。

你所拥有的方式只是声明一个名为first的变量,并且在不声明它们的情况下使用了其他四个变量,因此它们是全局变量。