2014-11-25 3 views
0

Im в настоящее время узнает о break и continue заявления. Он печатает 1-й массив, второй массив запускает предупреждение, как и предполагалось, но третий не запускается, когда я использую оператор continue. Может быть, я не делаю это правильно? некоторые рекомендации для новичков были бы приятными.Javascript - Продолжить утверждение не работает?

Я использую JSBin для запуска этого.

p.s. им уроки из книги "Начальный Javascript"

Благодаря

var n = [233, "john", 432]; 
 
var nIndex; 
 

 
for (nIndex in n) { 
 
    if (isNaN(n[nIndex])) { 
 
     alert(n[nIndex] + " is not a number"); 
 
     continue; 
 
    } 
 
    document.write(n[nIndex] + " "); 
 
}

+2

В вашем коде не найдено проблем. он работает нормально. –

+0

Работает для меня ... –

+3

FYI, вы никогда не должны перебирать массивы javascript с помощью 'for (x in y)', потому что он будет перебирать все перечисляемые 'свойства' массива, а не только элементы массива, которые не могут включать свойства элемента массива. Вы должны использовать '.forEach()' или 'for (var i = 0; i jfriend00

ответ

0

Это, как вы итерацию по элементам массива:

var data = [233, "john", 432]; 
 

 
for (var i = 0; i < data.length; ++i) { 
 
    if (isNaN(data[i])) { 
 
     alert(data[i] + " is not a number"); 
 
     continue; 
 
    } 
 
    document.write(data[i] + " "); 
 
}

Кстати, вы можете удалить continue заявление и вместо того, чтобы использовать else на альтернативные инструкции:

var data = [233, "john", 432]; 
 

 
    for (var i = 0; i < data.length; ++i) { 
 
     if (isNaN(data[i])) { 
 
      alert(data[i] + " is not a number"); 
 
     } else { 
 
      document.write(data[i] + " "); 
 
     } 
 
    }

Это логически эквивалентны, и вы можете найти его легче читать.

Смежные вопросы