Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Дополнить скрипт (https://javascript.ru/forum/misc/60491-dopolnit-skript.html)

Keramet 03.01.2016 19:37

Ruslan_xDD,
Цитата:

Сообщение от Ruslan_xDD (Сообщение 402414)
Почему не i++?

Книжку умную :haha: недавно читал там было сказано так:
Цитата:

И последний штрих к циклам for – замена выражения i++ одним из сле-
дующих:
i = i + 1
i += 1
JSLint предложит вам сделать это. Причина заключается в том, что
операторы ++ и -- проявляют «излишнюю хитрость». Если вы не соглас-
ны с такой заменой, установите в настройках JSLint параметр plusplus
в значение false. (По умолчанию он принимает значение true.) Далее
в этой книге будет использоваться последний из предложенных шаблонов:
i += 1.

Keramet 03.01.2016 19:41

Ruslan_xDD,
Цитата:

Сообщение от Ruslan_xDD
Цитата:

Сообщение от Keramet
Сообщение от Keramet
а не проще массивы определять в цикле:

Зачем? Это лишнее.

А как бы вы это реализовали без цикла? (или без массива?)
Цитата:

Зачем кавычки?
В принципе - не зачем, для наглядности (что в массиве не числа, а строки).

ruslan_mart 04.01.2016 05:01

Цитата:

Сообщение от Keramet
И последний штрих к циклам for – замена выражения i++ одним из сле-
дующих:
i = i + 1
i += 1
JSLint предложит вам сделать это. Причина заключается в том, что
операторы ++ и -- проявляют «излишнюю хитрость». Если вы не соглас-
1 Закас Н. «JavaScript.
Оптимизация производительности». – Пер. с англ. –
СПб.: Символ-Плюс. Выход книги ожидается в III квартале 2011 г.
38 Глава 2. Основы
ны с такой заменой, установите в настройках JSLint параметр plusplus
в значение false. (По умолчанию он принимает значение true.) Далее
в этой книге будет использоваться последний из предложенных шаблонов:
i += 1.

Значит всю жизнь использовали, а теперь какой-то деятель в своей книжке решил, что так писать нельзя? :haha:

По скорости i++ выигрывает, кстати.

Вот, для сравнения: https://jsfiddle.net/r6sL0Lw8/

i = i + 1 работает шустрей, но эта разница не ощутима в реале, в реале там разница в микросекундах.

Так что, ИМХО, лучше использовать i++/++i и не заниматься ерундой. :)


Часовой пояс GMT +3, время: 16:05.