Bem básico - Erro de lógica na minha função JavaScript

4 respostas
A

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>
		<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 (i = 1; i <= 2;){
							i = i + 1;
							document.write(" -ANDRÉ- Aparece André duas vezes")
						continue;
						}	
					}	
				}
			} 
		</script>
	</head>
<body>
	<input type="button" onclick="teste(1);" value="teste"/>
</body>

4 Respostas

douglas_vidotto

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

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

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>

abraço,
AS

A

só não entendí o uso do continue…

Criado 11 de agosto de 2010
Ultima resposta 11 de ago. de 2010
Respostas 4
Participantes 2