2015-05-01 75 views
1

這是我的基本問題......JavaScript的全局變量起重發行

<script> 
    var window.my_Global = false; 
</script> 

<script> 
    if(my_Global){...} //my_Global here is undefined, not false?? 
</script> 

我知道必須有一個簡單的解決方案,但我很卡...

+0

簡單的解決方案是爲了避免這樣的構造只要有可能,這幾乎總是? – adeneo

+1

@ adeneo:由於OP明確地詢問如何創建一個全局,我相信他知道後果。 – Cerbrus

+1

第一個腳本應該給出一個在瀏覽器的開發工具控制檯中顯示的錯誤。 – nnnnnn

回答

4

刪除var

window.my_Global = false; 

您不需要var語句來設置對象的屬性。事實上,這是無效的語法:

<script> 
 
    window.my_Global = true; 
 
</script> 
 

 
<script> 
 
    console.log(my_Global); 
 
    if(my_Global){ 
 
     alert("Hello world!"); 
 
    } 
 
</script>

+2

這並不是說你不需要'var'就可以選擇。這是一個語法錯誤。 – nnnnnn

+0

@nnnnnn:好點。添加到我的答案。 – Cerbrus

+0

所以我改變了它,如你所說...當我從firebug控制檯警告變量它說它仍然是未定義的,而不是錯誤的。 –