DivMan Posted November 10, 2015 Report Share Posted November 10, 2015 Есть код for (var line = "#"; line.length < 8; line += "#") console.log(line);Я его переделал на whilevar line = "#";while (line.length < 8) { console.log(line); line +=;}Где ошибка, не могу понять? Сделал так, но всё равно не правильноvar line = "#";while (line.length < 8) { console.log(line); line = line + "#";} Quote Link to comment Share on other sites More sharing options...
0 hypnocolor Posted November 10, 2015 Report Share Posted November 10, 2015 var line = "#";while (line.length < 8) { console.log(line); line += "#";} 1 Quote Link to comment Share on other sites More sharing options...
0 Нарек Posted November 10, 2015 Report Share Posted November 10, 2015 В отличии от for с while последняя строка идет как строка "########" вместо undefined. 1 Quote Link to comment Share on other sites More sharing options...
0 DivMan Posted November 10, 2015 Author Report Share Posted November 10, 2015 В отличии от for с while последняя строка идет как строка "########" вместо undefined. Почему так? Quote Link to comment Share on other sites More sharing options...
0 hypnocolor Posted November 10, 2015 Report Share Posted November 10, 2015 Потому что в while строка наращивается после вызова console.log(). Quote Link to comment Share on other sites More sharing options...
0 Николя223 Posted November 10, 2015 Report Share Posted November 10, 2015 Не советую пользоваться while.В неумелых руках - легко запустите бесконечный цикл. Как то видел случай когда в одном плагине именно это и происходило (на PHP) с генерацией ошибок в логи со скоростью ~50 Мегабайт/сек Quote Link to comment Share on other sites More sharing options...
0 Нарек Posted November 10, 2015 Report Share Posted November 10, 2015 (edited) Думаю потому что for выполняет цикл до того как достигнет цели (не включая последнюю) а while выполняет включая последнюю. Как то так, если я правильно понимаю то, что здесь написано. For при условии, что i<3 сделает 2 цикла, а while 3. А нет, кажется я понял неверно) Edited November 10, 2015 by Нарек Quote Link to comment Share on other sites More sharing options...
0 Николя223 Posted November 10, 2015 Report Share Posted November 10, 2015 Потому что в while строка наращивается после вызова console.log(). не думаю что в этом)) запустите не в консоли =) Точно такой же undefined вы получите если в консоли напишите например это ))var a= function(){ var b = "=)";} Quote Link to comment Share on other sites More sharing options...
Question
DivMan
Есть код
Я его переделал на while
var line = "#";while (line.length < 8) { console.log(line); line +=;}Где ошибка, не могу понять?
Сделал так, но всё равно не правильно
var line = "#";while (line.length < 8) { console.log(line); line = line + "#";}Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.