Задать вопрос
0rislav
@0rislav
Юрист, который рвется в программисты! =)

JavaScript-код не интерпретируется?

Доброго времени суток!
Я только начинаю постигать JS и у меня возникла проблема, решение которой в интернете мне найти не удалось.
Собственно говоря вот рабочий код:
var name = ["Илья", "Greg", "Алина"];
          for (var i = 0; i < name.length; i++) {
                if (name.charCodeAt(i) < 1040 || name.charCodeAt(i) > 1103) { 
                document.write(name.charAt(i) + "<br>");
                }
            }

Но, как только я сменю название переменной, код перестает интерпретироваться:
var popa = ["Илья", "Greg", "Алина"];
          for (var i = 0; i < popa.length; i++) {
                if (popa.charCodeAt(i) < 1040 || popa.charCodeAt(i) > 1103) { 
                document.write(popa.charAt(i) + "<br>");
                }
            }

Где здесь магия?
Заранее благодарен за ответ.
  • Вопрос задан
  • 341 просмотр
Подписаться 1 Оценить 2 комментария
Решения вопроса 2
IonDen
@IonDen
JavaScript developer. IonDen.com
name.charCodeAt(i) // не имеет смысла, так как name - это массив

а метод charCodeAt может применятся только к строкам.

Чтобы это заработало, вам нужен еще один вложенный цикл, который будет пробегать по символам в каждом из найденных имен.

Правильный вариант: https://jsfiddle.net/6t7uoot2/1/
Ответ написан
abyrkov
@abyrkov
JavaScripter
Почитайте про window.name. Тут весь прикол, что массив, как имя окна превращается в строку. А popa - нет ;). Сам в шоке, когда узнал про это.

Образно говоря, window.name довольно-таки бесполезная фишка.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы