Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не срабатывает сравнение (https://javascript.ru/forum/misc/32350-ne-srabatyvaet-sravnenie.html)

freeze 12.10.2012 20:19

Не срабатывает сравнение
 
Почему не выводится алерт(гуд)?
<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>

nerv_ 12.10.2012 22:30

потому, что:
i = 0;
i = 1;

lord2kim 13.10.2012 18:11

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');
    }

Maxmaxmахimus 13.10.2012 23:50

начну с того что i++ а не ++i

BallsShaped 14.10.2012 01:12

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

for( var x = 1; x; alert( "затем это." ) ){
  alert( "Сначала выполняется тело,.." );
  x--;
};

Maxmaxmахimus 14.10.2012 02:32

тем не менее нужно i++

BallsShaped 14.10.2012 12:46

Maxmaxmахimus, не нужно. Просто так принято. Там можно писать любое выражение: хоть i++, хоть ++i , хоть i += 1, хоть i = i + 1, хоть i = ++i, но не i = i++:)

Maxmaxmахimus 14.10.2012 21:17

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


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