Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему i = 11 ? (https://javascript.ru/forum/misc/36675-pochemu-i-%3D-11-a.html)

(Sandr) 24.03.2013 13:50

Почему i = 11 ?
 
Приветствую.
Есть код:
var i;
  for(i = 0; i <= 10; i++) {
    console.log(i);
  }
  
  console.log('end: ' + i);


Почему в конце программы i = 11?

danik.js 24.03.2013 14:00

Так понятнее?
var i;

function initialization() {
    i = 0;
    console.log('initialization, i: 0');
}
function condition() {
    var result = i <= 10;
    console.log('condition, result:' + result);
    return result;
}
function step() {
    i++;
    console.log('step, i:'+i);
}

for(initialization() ; condition() ; step() ) {
    console.log(i);
}

console.log('end: ' + i);

dmitriymar 24.03.2013 14:08

потому что
if(i <= 10 )  i++

(Sandr) 24.03.2013 14:37

danik.js,
dmitriymar,
спасибо. Совсем забыл принцы работы цикла :blink:

megaupload 24.03.2013 16:31

на всякий)
var i;
  for(i = 0; i < 10; ++i) {
    console.log(i);
  }
  
  console.log('end: ' + i);

tenshi 25.03.2013 17:48

Эквивалентный код:
var i= 0;
  while(i <= 10) {
    console.log(i);
    i++
  }
  
  console.log('end: ' + i);


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