Bem básico - Erro de lógica na minha função JavaScript
4 respostas
A
andredecotia
qdo. uso a cláusula continue ele entra loop eterno tanto q até trava o brownser... hehehe o q tá errado na minha lógica?
<head><scripttype="text/javascript"><!-- function teste(x){ for (i = x; i <= 10; i++){ document.write(i) if(i == 5){ document.write(" (O contador está sendo parado no 5)") break; } if (1 == 1){ for (i = 1; i <= 2;){ i = i + 1; document.write(" -ANDRÉ- Aparece André duas vezes") continue; } } } } </script></head><body><inputtype="button"onclick="teste(1);"value="teste"/></body>
O problema está na variável “i”. Você está usando a mesma variável no loop for que vai até 10 ali no inicio, e depois no for que vai até dois mais embaixo. Toda vez que ele chega no segundo for, você reinicia o “i”. Portanto, ele nunca chegará a 5 que faria com que ele escrevesse “o contador está parado no 5”.
Abraços!
A
andredecotia
valeu mano, vc clareou bastante…
eis a resolução:
<head>
<script type="text/javascript"><!--
function teste(x){
for (i = x; i <= 10; i++){
document.write(i)
if(i == 5){
document.write(" (O contador está sendo parado no 5)")
break;
}
}
if (1 == 1){
for (b = 1; b <= 2;){
b = b + 1;
document.write(" -ANDRÉ- Aparece André duas vezes")
continue;
}
}
}
</script>
</head>
A
andredecotia
valeu mano, vc clareou bastante…
eis a resolução:
<head>
<script type="text/javascript"><!--
function teste(x){
for (i = x; i <= 10; i++){
document.write(i)
if(i == 5){
document.write(" (O contador está sendo parado no 5)")
break;
}
}
if (1 == 1){
for (b = 1; b <= 2;){
b = b + 1;
document.write(" -ANDRÉ- Aparece André duas vezes")
continue;
}
}
}
</script>
</head>