+ 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; }

21st Apr 2019, 6:55 PM
Matheus Batista
Matheus Batista - avatar
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.
22nd Apr 2019, 4:21 PM
Anya
Anya - avatar
+ 2
1: don't need return statement. 2: correct, but this don't happen anywhere in the code.
21st Apr 2019, 9:46 PM
Anya
Anya - avatar
+ 1
I don't think i have understood well. I see you are Brazilian. Can you try in portuguese?
22nd Apr 2019, 12:47 PM
Anya
Anya - avatar
+ 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.
22nd Apr 2019, 3:23 PM
Anya
Anya - avatar
+ 1
Anya tendi valeuu
22nd Apr 2019, 4:22 PM
Matheus Batista
Matheus Batista - avatar
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?
22nd Apr 2019, 1:30 AM
Matheus Batista
Matheus Batista - avatar
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?
22nd Apr 2019, 2:45 PM
Matheus Batista
Matheus Batista - avatar
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
22nd Apr 2019, 3:27 PM
Matheus Batista
Matheus Batista - avatar
22nd Apr 2019, 3:32 PM
Matheus Batista
Matheus Batista - avatar