Witam!
Mam pytanie odnośnie dosyć starego odcinka (jak w temacie). Chodzi mianowicie o ten kawałek kodu:
String.prototype.ustawZnak = function(miejsce, znak)
{
if (miejsce > this.length - 1) return this.toString();
return this.substr(0, miejsce) + znak + this.substr(miejsce + 1);
}
Omawianego w tym momencie filmu: https://youtu.be/9FVtiJHFCSU?t=1h9m26s
Zaznaczam, że jestem totalnie początkujący i być może coś przegapiłem, ewentualnie nie potrafię tego zrozumieć. Dobra, przejdźmy do kornetów. Chodzi o sprawdzanie gdy wartość "miejsce" będzie zbyt duża w stosunku do naszego hasła. Czy ten zapis w tym kodzie jest konieczny? Z tego co rozumiem do "miejsce" przypisywana jest pozycja znaku w zmiennej "haslo", gdy zostanie odnaleziona w tym napisie konkretna litera, którą wybierze użytkownik.Odnoszę się konkretnie do tego zapisu:
function sprawdz(nr)
{
var trafiona = false;
for(i=0; i<dlugosc; i++)
{
if (haslo.charAt(i) == litery[nr])
{
haslo1 = haslo1.ustawZnak(i, litery[nr]);
trafiona = true;
}
}
Jeżeli w pętli for mamy zdeklarowane, że "i<dlugosc" a długość haslo i haslo1 jest taka sama, więc czy to zabezpieczenie jest konieczne? Z góry dzięki za odpowiedź i pozdrawiam!