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评论的那样。检查你的浏览器控制台,它通常会告诉你错误所在的行:)