Javascript.RU

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

Не срабатывает сравнение
Почему не выводится алерт(гуд)?
<script>
   var data = new Array();
   
   data.push('i-radio-1');
   data.push('i-radio-2');

    for(var i = 0; i < data.length; ++i)
    {
       //alert(typeof('i-radio-' + i));
       //alert(typeof(data[i]));
     
        if(data[i] === 'i-radio-' + i)
		    alert('Good');
    }
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 12.10.2012, 22:30
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

потому, что:
i = 0;
i = 1;
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #3 (permalink)  
Старый 13.10.2012, 18:11
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

freeze,
var data = new Array();

   data.push('i-radio-0');    
   data.push('i-radio-1');
   data.push('i-radio-2');
 
    for(var i = 0; i < data.length; ++i)
    {
       //alert(typeof('i-radio-' + i));
       //alert(typeof(data[i]));
      
        if(data[i] === 'i-radio-' + i)
            alert('Good');
    }
Ответить с цитированием
  #4 (permalink)  
Старый 13.10.2012, 23:50
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

начну с того что i++ а не ++i
Ответить с цитированием
  #5 (permalink)  
Старый 14.10.2012, 01:12
Профессор
Отправить личное сообщение для BallsShaped Посмотреть профиль Найти все сообщения от BallsShaped
 
Регистрация: 14.09.2012
Сообщений: 162

Просто у цикла for сначала проверяется условие, потом исполняется тело, а затем третье выражение:
for(; alert("Выполнится."); alert("Не выполнится"))
  alert("Не выполнится");

for( var x = 1; x; alert( "затем это." ) ){
  alert( "Сначала выполняется тело,.." );
  x--;
};
Ответить с цитированием
  #6 (permalink)  
Старый 14.10.2012, 02:32
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

тем не менее нужно i++
Ответить с цитированием
  #7 (permalink)  
Старый 14.10.2012, 12:46
Профессор
Отправить личное сообщение для BallsShaped Посмотреть профиль Найти все сообщения от BallsShaped
 
Регистрация: 14.09.2012
Сообщений: 162

Maxmaxmахimus, не нужно. Просто так принято. Там можно писать любое выражение: хоть i++, хоть ++i , хоть i += 1, хоть i = i + 1, хоть i = ++i, но не i = i++
Ответить с цитированием
  #8 (permalink)  
Старый 14.10.2012, 21:17
Аватар для Maxmaxmахimus
司会
Отправить личное сообщение для Maxmaxmахimus Посмотреть профиль Найти все сообщения от Maxmaxmахimus
 
Регистрация: 29.02.2012
Сообщений: 198

Не, нужно писать i++ ) потому что проверка будет срабатывать не верно, итераций будет на одну меньше чем должно быть. )
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает обработчик window.onload. Alex82 Events/DOM/Window 16 22.02.2013 21:06
Не срабатывает обертка фун-и в IE8 zilker Internet Explorer 6 16.07.2012 18:54
Оnmouseout срабатывает при наведении на дочерние элементы lancer jQuery 0 31.03.2012 08:22
Сравнение текущего URL адреса с другим? rafael Firefox/Mozilla 3 17.01.2012 21:09
Не срабатывает при отсутствии в теле документа yuriii jQuery 3 06.05.2010 17:45