for (x = 0; x < 10; ++x)

0

Czy istnieje jakakolwiek funkcjonalna różnica pomiędzy zapisem:

for (x = 0; x < 10; x++) {...}

a

for (x = 0; x < 10; ++x) {...}

?

Bo z tego co widzę, to oba zapisy działają chyba tak samo, więc nie rozumiem po co ktoś używa takiego dziwacznego zapisu.

Różnicę pomiędzy:

alert(n++); /* Shows 0, then stores n = 1 */

a

alert(++m); /* Shows 1, then stores m = 1 */

rozumiem.

3

To zawsze była tylko kwestia preferencji. A kod w którym pre- lub post-inkrementacja robi różnicę zwykle jest paskudny. Lepiej już napisać jedną linijkę więcej, żeby było czytelnie niż grać w code-golf.

4

Zarówno w JavaScript jak i w C++ może być różnica w wydajności.

https://www.measurethat.net/Benchmarks/Show/4865/1/pre-increment-vs-post-increment-in-loops#latest_results_block

Ja zaczynałem od C (tam nie ma różnicy), dlatego dla mnie naturalniejsze jest i++, ale ogólnie zaleca się pre-inkrementację.

3

Generalnie, z tego co wiem, czasy gdy pre inkrementacja robiła narzut odeszły, ale mogę sie mylić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1