Salut oameni faini! Revin cu o intrebare, tot la categoria de incepator.
Avem codul:
let input = prompt("ENTER PASSWORD:");
while (true) {
input = prompt(input);
if (input.toLowerCase() === "stop copying me") break;
}
console.log ("OK YOU WIN");
Daca pun parola corecta din prima, raman blocat in prompt cu orice pun, atat corect cat si gresit. Ramane loop-ul cu orice pun. Daca pun parola dupa prima greseala spre ex, merge.
De ce “input = prompt(input)” si nu "input = prompt(“ENTER PASSWORD”). De ce merge prima varianta (cea a profului de pe curs) si a mea nu? De ce sa nu mearga amandoua at least?
Ce cred eu aici e ca input in paranteza repr. faptul ca JS stie deja la care ma refer fiindca i-am mentionat anterior, deci asa este regula… I guess…
Daca am codul
if (true) {
input === "stop copying me"
console.log("SUCCESS!");
}
atunci merge lejer din prima parola, deci looping-ul meu sau break-ul creeaza o incertitudine… sunt incepator, poate complic situatia, dar imi place maxim sa pot controla fiecare chestie/ipostaza, de aceea insist pe detalii de genul. Sper ca nu exagerez sau ceva. Va multumesc mult!
Nici măcar nu-i o idee bună să folosești recursivitate într-o buclă potențial infinită, că teoretic poți să greșești parola până se termină memoria. Nu mai vorbim de faptul că ăsta ar putea fi un potențial vector de atac de tip denial of service.
Daca pun parola corecta din prima, raman blocat in prompt cu orice pun, atat corect cat si gresit. Ramane loop-ul cu orice pun. Daca pun parola dupa prima greseala spre ex, merge.
Eu nu vad acest comportament.
Daca introduci “stop copying me” si apoi inca o data “stop copying me”, se opreste.
De ce “input = prompt(input)” si nu "input = prompt(“ENTER PASSWORD”). De ce merge prima varianta (cea a profului de pe curs) si a mea nu?
Perfect! Am mai invatat o ipostaza in care pot folosi negarea ('!"), absolut supeeeer! Mersi mult! <3
Poti sa-mi explici si sa-mi arati si un cod aditional acestuia in care daca dau cancel la prompt (oricand vreau eu), acesta sa se inchida, sa nu ma tina in loop pana introduc parola?
Hai ca usor usor prind mersul… sunt la inceput si de aia… e chiar foarte fain totul, iti pune mintea la contributie, nu te lasa sa ramai in confort absolut niciodata
Eu nu vad acest comportament.
Daca introduci “stop copying me” si apoi inca o data “stop copying me”, se opreste.
Pai de ce trebuie sa introduci prima oara ceva in loc s-o ia din prima cu raspunsul corect? Asta voiam sa intreb.
Nu inteleg la ce te referi.
Functia “prompt” afiseaza parametrul ca mesaj
De ce trebuie scrisa functia la modul “prompt(input)”, dar am inteles logic la mintea cocosului acum de ce. Variabilele sunt unice in nume, iar cand pui prompt ca si radacina parinte si in paranteza variabila, ai explicat perfect ceea ce cauti. Nu mai detaliez, important e ca am inteles acum. Mersi pentru raspuns, anyway!