在函数和if语句中设置全局变量值

Lei*_*rén 0 javascript scope

我刚刚开始使用javascript,但我已经搜索并阅读了有关js变量的内容,并且无法解决这个问题.

我希望能够在包含if语句的函数中设置在任何函数外声明的变量值.但它并没有改变全局变量.例:

var counter = 0;
goNext();    

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

alert('I now want counter to be 3! How?');
Run Code Online (Sandbox Code Playgroud)

提前谢谢,敬业的用户.

epa*_*llo 6

如果您将0分配给计数器,请在内部

if(counter = 0)
Run Code Online (Sandbox Code Playgroud)

代码需要

if(counter == 0)
Run Code Online (Sandbox Code Playgroud)

要么

if(counter === 0)
Run Code Online (Sandbox Code Playgroud)

使用像JSHint这样的工具会发现这些错误.通过将代码粘贴到界面中,它将向您显示警告.当我将代码粘贴到它生成的页面时:

One warning
6   Expected a conditional expression and instead saw an assignment.
Run Code Online (Sandbox Code Playgroud)