2013-12-09 114 views
0

我剛剛開始使用javascript,但是我已經搜索並閱讀了關於js變量範圍的知識,並且無法弄清楚這一點。在函數和if語句中設置全局變量值

我想能夠設置一個變量值聲明在任何函數之外,在函數內還包含if語句。但它並沒有改變全局變量。例如:

var counter = 0; 
goNext();  

function goNext() 
{ 
    if(counter = 0) 
    { 
     counter = 3; 
    } 
} 

alert('I now want counter to be 3! How?'); 

在此先感謝您,敬業的用戶。

+6

你是不是做了比較'計數器= 0'是分配,使用的''===代替'=' – PSL

+0

確實工作,好像我」我有很多的閱讀工作。謝謝! –

回答

6

裏面的,如果你要分配0反擊

if(counter = 0) 

的代碼需要

if(counter == 0) 

if(counter === 0) 

使用工具,如JSHint將HLP你發現這些錯誤。通過將代碼粘貼到界面中,它會顯示警告。當我是你的代碼粘貼到頁面製作:

One warning 
6 Expected a conditional expression and instead saw an assignment. 
+1

我會推薦'===',因爲它通常被認爲是更好的做法。看到這裏:http://stackoverflow.com/questions/523643/difference-between-and-in-javascript – mayabelle