2012-03-30 99 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的變量,並且在不聲明它們的情況下使用了其他四個變量,因此它們是全局變量。