+ 1
help me understand this code
Does this code even need the "return"? because with or without them the code works. And I have another question about this code the value "valid" should not be false after it is changed from true CODE: var inputs = document.getElementsByClassName('test'); var len = inputs.length; var valid = true; for(var i=0; i < len; i++) { if (!inputs[i].value) { valid = false; } } if (valid) { console.log("ok"); return true; } else { console.log("no"); return false; }
9 Answers
+ 2
Ah ok. Acredito que entendi sua duvida agora. Ent toda vez que vc insere o input e pressiona ok ele executa o codigo com a tag script.
So que ele não salva o valor de valid entre as execuçÔes. Sua variåvel valid morre assim que terminar seu escopo. Dessa maneira ao pressionar o botao para uma proxima execuçao o seu codigo passa novamente por valid = true e cria uma nova variavel valid com o valor true.
Realmente nĂŁo ha nada mudando o valor de valid de false para o valor true. Sua variavel so esta sendo recriada todas as vezes com o valor true.
Alem do mais e possivel especificar que o variavel valid nao morra depois de terminar seu escopo. Ă so especificar a variavel como estatica.
+ 2
1: don't need return statement.
2: correct, but this don't happen anywhere in the code.
+ 1
I don't think i have understood well. I see you are Brazilian. Can you try in portuguese?
+ 1
Matheus Batista . O que esta acontecendo Ă© o seguinte.
O código nunca estå entrando no 1 if. E nao e por causa da condicao do if imposta e sim porque a condiçao usada no for não estå iterando nenhuma vez. Dessa maneira nunca passamos pelo 1 if.
Sendo assim valid nunca esta mudando seu valor original.
Por isto sempre esta dando true.
Vc pode testar mudando seu for ou ate removendo colocando junto uma condicao if que sempre entre.
+ 1
Anya tendi valeuu
0
Anya That's not what I meant about the variable. This is so I have been observing its execution in several ways but I noticed that its root value is "true", and when it executes "if" it receives false value, from that it is fine, however when its value is "else" ( does not exist inside only has the "if") it passes true to variable being previously it was false, it changed value without setting a value?
0
Anya Posso sim vou começar do zero falando no cĂłdigo podemos ver uma variĂĄvel chamada valid nela contĂ©m valor de true, quando executamos essa função o 1 If depois do For o valid recebe false, logo depois eu implemento os valores nos inputs aĂ valid se torna true, aĂ vem minha dĂșvida como foi que o valid recebeu true se anteriormente ele tava com valor false e em nenhum momento no cĂłdigo eu boto pra valid receber true novamente entendeu?
0
Anya Amigo vou inserir o cĂłdigo e vou te mandar, o 1 If ele recebeu valor de false quando verificou os inputs vazios depois disso eu mudei os inputs botando qualquer coisa dentro aĂ ele retornou true sendo que seu valor jĂĄ havia sido mudado, e em nenhum momento eu coloquei algum cĂłdigo pra retorna true