Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
цикл while
|
|||
|---|---|---|---|
|
#18+
Добрый день. Понимаю что вопрос может быть детским для вас. Я только начал изучать js. C циклом for получилось сделать таблицу умножения. А вот тоже самое с while не получается. Вкладываю один в другой и не идет. По отдельности все работает. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2016, 07:26 |
|
||
|
цикл while
|
|||
|---|---|---|---|
|
#18+
vdekameronВкладываю один в другой и не идет. По отдельности все работает. Описать проблему можно было и нормально :) Первую строку таблицы скрипт выводит же, верно? А дальше выполняется только document.write("<br>") , так как Вы значение k не сбрасываете и условие while(k<10) перестаёт выполняться, а вместе с ним и код, что выводит результат умножения k на i . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2016, 07:58 |
|
||
|
цикл while
|
|||
|---|---|---|---|
|
#18+
Зацените: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2016, 08:02 |
|
||
|
цикл while
|
|||
|---|---|---|---|
|
#18+
И если проводить аналогию с for , то получается.. что используя for Вы определяете значение k внутри цикла: Код: javascript 1. 2. 3. а в случае с while вынесли это наружу: Код: javascript 1. 2. 3. 4. 5. 6. и очевидно получили другую логику работы :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2016, 08:25 |
|
||
|
цикл while
|
|||
|---|---|---|---|
|
#18+
skyANAОписать проблему можно было и нормально :) Извините, с этим всегда проблемы(. skyANAтак как Вы значение k не сбрасываете и условие while(k<10) перестаёт выполняться Вот этого я как раз и не учел. Был затык. Я почему-то думал что он должен отрабатывать как for. Недооценил значения слова while)). skyANAЗацените: Заценил. Все ,конечно, заработало. Спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2016, 09:09 |
|
||
|
цикл while
|
|||
|---|---|---|---|
|
#18+
skyANAИ если проводить аналогию с for , то получается.. что используя for Вы определяете значение k внутри цикла: Код: javascript 1. 2. 3. а в случае с while вынесли это наружу: Код: javascript 1. 2. 3. 4. 5. 6. и очевидно получили другую логику работы :) Разве в этом дело? Вот я вынес и в цикле for определение переменной за пределы. Но логика не поменялась. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Мне кажется тут дело именно в том что for и while изначально имеют немного разную логику. Конечно спорить не буду) ибо это глупо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2016, 09:16 |
|
||
|
цикл while
|
|||
|---|---|---|---|
|
#18+
vdekameron Мне кажется тут дело именно в том что for и while изначально имеют немного разную логику. Конечно спорить не буду) ибо это глупо) Однозначно! Причем что характерно так не только в JS. Но такой while (k < 10) эквивалентен for(;k<10;), то есть всю работу по изменению k надо производить где то еще. В таком варианте for(k=1;k<10;k++) вся работа по изменению k происходит "внутри", тело цикла выполняется начиная с k=1, пока k < 10 и на каждом шаге увеличивается на 1. Можно увеличивать на 2 for(k=1;k<10;k++++) Можно "никогда" не закончить for(k=1;k<10;k--) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2016, 10:03 |
|
||
|
цикл while
|
|||
|---|---|---|---|
|
#18+
vdekameronРазве в этом дело? Вот я вынес и в цикле for определение переменной за пределы. Но логика не поменялась. Давайте придём к одинаковой терминологии: https://learn.javascript.ru/while-for Код: javascript 1. 2. 3. фактически Вы вынесли начало цикла, а не определение переменной. то есть сделали так (если записать через for ): Код: javascript 1. 2. 3. так понятнее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2016, 11:45 |
|
||
|
цикл while
|
|||
|---|---|---|---|
|
#18+
skyANAфактически Вы вынесли начало цикла, а не определение переменной. то есть сделали так (если записать через for ): Код: javascript 1. 2. 3. Честно не могу понять к чему Вы клоните. Ну и что что я вынес начало цикла...это же идентично тому, если начало цикла использовать в скобках. ....это я ссылаюсь на ту ссылку, которую Вы дали мне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2016, 13:41 |
|
||
|
цикл while
|
|||
|---|---|---|---|
|
#18+
Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. из цикла вынесено определение переменной, но в цикле ей присваивается значение for(k=1; k<10; k++){ в этом всё дело ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.06.2016, 14:01 |
|
||
|
цикл while
|
|||
|---|---|---|---|
|
#18+
vdekameronskyANAфактически Вы вынесли начало цикла, а не определение переменной. то есть сделали так (если записать через for ): Код: javascript 1. 2. 3. Честно не могу понять к чему Вы клоните. Ну и что что я вынес начало цикла... У Вас в каждой из десяти итераций по i начинается цикл по k . В варианте с for Вы оставляете начало цикла по k внутри тела цикла по i . А в своём варианте с while Вы вынесли начало цикла по k из тела цикла по i . И очевидно, что получается разная логика. И давайте это проверим. Перепишем for так как Вы написали свой while : Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Получим аналогичный результат: Код: html 1. А теперь наоборот перепишем while так, как for : Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. И получим нужный нам результат: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. Вывод очевиден: когда циклы написаны одинаково, они и работают одинаково. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2016, 08:31 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=39248701&tid=1445217]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
| others: | 269ms |
| total: | 437ms |

| 0 / 0 |
