Javascript函数破坏了整个程序?

Javascript函数破坏了整个程序?,javascript,function,while-loop,Javascript,Function,While Loop,我写了一个程序,只要按下按钮,就会弹出警报框。问题是,我的一个函数的行为非常奇怪,我不知道为什么。有时该函数不起作用,有时它完全阻止程序发送其他函数负责的警报。我尝试使用的语法有问题吗?我尝试了很多变化 这个简单的方法是: function popup(){ alert(5+6); }; 这并不是: function popup(){ c = 0; if(c=0){ alert(5+6)

我写了一个程序,只要按下按钮,就会弹出警报框。问题是,我的一个函数的行为非常奇怪,我不知道为什么。有时该函数不起作用,有时它完全阻止程序发送其他函数负责的警报。我尝试使用的语法有问题吗?我尝试了很多变化

这个简单的方法是:

function popup(){
      alert(5+6);
};
这并不是:

function popup(){
            c = 0;
                if(c=0){
                    alert(5+6);
                }
};
这会阻止整个程序工作:

    function popup(){
        x=0
        y=0
        while(x=0;x<array.length;x++)
            if(y>0){
                alert(5+6);
            }
            else(y=0){
                alert(1+2)
                y++
            }
    };
函数弹出(){
x=0
y=0
而(x=0;x0){
警戒(5+6);
}
else(y=0){
警报(1+2)
y++
}
};
你的意思可能是

else if (y==0){
而不是

else(y=0){
y=0
将y设置为0,并始终返回0,无论之前y的值是多少

while
将一条语句作为条件(请参阅)。您的while循环可能正在检查x++的结果,因此它永远不会结束

您可能应该有一个for循环

在进入测试值的循环之前将y设置为0非常奇怪。我想y应该是
数组[x]

function popup(){
    for (x=0; x<array.length; x++) {
        var y = array[x]; // just a guess, but this seems reasonnable
        if (y>0){
            alert(5+6);
        } else if (y==0) {
            alert(1+2);
            y++;
        }
};
函数弹出(){

for(x=0;x.

我想你应该在这里做一个for循环

如果(y=0)进行赋值,则不进行比较

else(y=0){应该是“else-if”。“else-if”进行比较,如果前面的“if”子句为false,则as-else变为true

您的数组似乎未初始化?-或者这是较早初始化的吗?

我觉得这更接近你想要的

function popup() {
    y = 0;
    for (var x = 0; x < array.length; x++) {
        if (y > 0) {
            alert(5 + 6);
        }
        else if (y == 0)
        {
            alert(1 + 2);
            y++;
        }
    }
}
函数弹出(){
y=0;
对于(var x=0;x0){
警戒(5+6);
}
如果(y==0),则为else
{
警报(1+2);
y++;
}
}
}

else(y=0)你的意思是:else(y==0)-你在做一个不是“while”循环工作方式的分配。我想你是在做“for”循环那里。我认为这是一个语法错误,这确实会使整个程序停止工作。你应该在控制台中得到一个关于它的错误。你的数组在哪里?之前初始化了还是?啊,谢谢你,我会试试看,由于某种原因,代码在网站上没有正确缩进,所以看起来有点奇怪。@dystroy你没有真的y解释==是比较运算符,那=是赋值运算符。@IanAtkin我试着解释一下,但是如果
也丢失了,循环是一段时间而不是一个循环,那么就有点难以解释代码是如何被窃听的。哦,谢谢!完全忘记了==是比较运算符,=是赋值运算符,非常感谢:)是的,谢谢你的工作:)我不太清楚为什么我的函数禁用了其他弹出窗口(除了可能我的错误赋值运算符),但这是有效的。谢谢你的帮助!你能接受答案吗?同样,正如Thilo评论的那样。检查你的浏览器控制台,它通常会告诉你错误所在的行:)