Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]dziwny skrypt
Forum PHP.pl > Forum > Przedszkole
serek_topiony
Witam
od niedawna zacząłem się uczyć HTMLa i JS i natknąłem się na skrypt, którego nie mogę do końca rozpracować:

function sprawdzArg (mojArg) {

var msg = "Argument funkcji ma wartość: ";
msg += mojArg? mojArg: "nie przeslano";
alert(msg);
}
sprawdzArg();


problem polega na tym, że wyrażenie "msg +=mojArg" powinno być równoznaczne wyrażeniu "msg = msg + mojArg" a nie jest. W pierwszym przypadku funkcja prawidłowo wyświetla komunikat, że argumentu nie przesłano, a w drugim wywala komunikat UNDEFINED. A czy one nie powinny być jednoznacze?? Pomocy, ktokolwiek! co_jest.gif
kamil4u
Nie rozumiem. Kod działa dobrze: http://jsfiddle.net/5vXL5/

Czego nie rozumiesz w tym kodzie to postaram się to opisać dokładniej.
serek_topiony
Wiem, że działa smile.gif Chodzi mi o to, dlaczego nie mogę zrobić zapisu msg = msg + mojArg? mojArg: "nie przeslano"; żeby kod działał równie dobrze. Dlaczego ten zapis nie jest równoznaczny z zapisem msg += mojArg? mojArg: "nie przeslano";. tego jakoś nie mogę pojąć :/
kamil4u
Daj tak( patrz nawiasy ):
Kod
msg = msg + (mojArg? mojArg: "nie przeslano");


W Twoim przypadku jest jak gdyby tak:
Kod
msg = (msg + mojArg)? mojArg: "nie przeslano";
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.