Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.03.2013, 13:50
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

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


Почему в конце программы i = 11?
Ответить с цитированием
  #2 (permalink)  
Старый 24.03.2013, 14:00
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Так понятнее?
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);
Ответить с цитированием
  #3 (permalink)  
Старый 24.03.2013, 14:08
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

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

Последний раз редактировалось dmitriymar, 24.03.2013 в 14:11.
Ответить с цитированием
  #4 (permalink)  
Старый 24.03.2013, 14:37
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

danik.js,
dmitriymar,
спасибо. Совсем забыл принцы работы цикла
Ответить с цитированием
  #5 (permalink)  
Старый 24.03.2013, 16:31
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

на всякий)
var i;
  for(i = 0; i < 10; ++i) {
    console.log(i);
  }
  
  console.log('end: ' + i);
Ответить с цитированием
  #6 (permalink)  
Старый 25.03.2013, 17:48
Профессор
Отправить личное сообщение для tenshi Посмотреть профиль Найти все сообщения от tenshi
 
Регистрация: 20.03.2008
Сообщений: 1,183

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему неразрывный пробел заменяется на & nbsp; danik.js Events/DOM/Window 4 09.01.2013 00:44
Почему некоторые операторы возвращают значения, а не ссылки? dump Общие вопросы Javascript 15 25.07.2012 17:28
Свойства объекта, методы и this. Почему свойство вызывается с () ? jsuse Общие вопросы Javascript 2 04.11.2011 20:39
Prototype. Одноблочное определение псевдокласса. Литеральная форма не робит. Почему? GuardCat Общие вопросы Javascript 6 03.10.2011 13:46
Почему это работает? (инклуд JS в JS) Василий Б. Общие вопросы Javascript 4 11.06.2010 12:41