for (...) bez instrukcji

for (...) bez instrukcji
DO
  • Rejestracja:około 7 lat
  • Ostatnio:ponad rok
  • Postów:165
2

Kolejne pytanie dot. poprawności zapisu.
Taka konstrukcja. Formalnie niezgodna z tym, co stanowi MDN, gdyż instrukcja powinna być zapisana za pętlą. Jednak wpisana w CodePen działa. Do sprawdzenia natchnęła mnie lektura czegoś o PHP. To wielki błąd czy w ogóle co, bo nie ukrywam - sama się zdziwiłam.

Kopiuj
for(i = 1; i<=10; console.log(i++));
edytowany 1x, ostatnio: Doctanna
Hispano-Suiza
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 6 lat
4

Pisana w konsoli też zadziała. Żadna to filozofia. Bardziej chodzi o czytelność kodu, i ogólnie przyjęte standardy. Jak piszesz dla siebie to możesz nawet za pomocą emotikonek. Pamiętaj, że Twój kod czytają też inni, i nie każdego kręci taka konstrukcja.
Poza tym to zadziała w przypadku wypisania za pomocą console.log, a co jeśli for jest bardziej rozbudowany, i zawiera więcej kodu? Problem solved :P


"Trolling is a art"
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:prawie 2 lata
  • Lokalizacja:Wrocław
  • Postów:13042
3

Formalnie niezgodna z tym, co stanowi MDN, gdyż instrukcja powinna być zapisana za pętlą.

Formalnie zgodna z tym, co stanowi MDN, ponieważ wspominają: [final-expression is] An expression to be evaluated at the end of each loop iteration. [...] Generally used to update or increment the counter variable. - żadna część tego zdania nie wyklucza wyrażeń w stylu i = f(i), console.log(i += i); itd.


Silv
Moderator Wiki
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa
3

Ciekawostką pozostaje fakt, że takie coś też przejdzie*:

Kopiuj
for(let i = 1; i <= 10; {
  x: console.log("A teraz, proszę Państwa, wypisujemy liczbę całkowitą " + i++)
}.x);

Jednak zdecydowanie odradzam takie pisanie. W JavaScripcie efekty uboczne mogą być zaskakujące.


* UPDATE: A przynajmniej przejdzie na Firefoksie 67.0.


edytowany 6x, ostatnio: Silv
DO
  • Rejestracja:około 7 lat
  • Ostatnio:ponad rok
  • Postów:165
1

Dziękuję, wszystkim, pozostaje się zastosować.

Silv
Albo zastosować się, ale w wolnym czasie też więcej eksperymentować. ;)
DO
wolny czas to abstrakcja niestety
Silv
No ja wiem, zdaję sobie sprawę. :/

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.