2013-12-09 86 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