Строка 2. Сначала идет проверка, является ли "o" объектом. В моем случае да, является. И имеет три свойства: x, y, z. Потом идет инициализация переменной i. Успешно. После этого начинается цикл for/in. Каждый раз переменной "i" присваивается очередное свойство объекта "o". Причем, как я понял, не его значение, а его имя, в противном случае консоль выдала бы это:
1
2
3
Теперь, если немного изменить код:
var o = {x:1, y:2, z:3};
for (var i in o) console.log(o);
, то получается такой результат:
1
2
3
Но если вместо console.log(o) написать console.log(o.i), то отладчик выдает ошибку undefined трижды.
Вопрос
В чем косяк? Ведь я прошу его вывести в консоль значения трех свойств объекта "o"
Если просто объявить объект, а потом написать в консоли o.x например, то она выведет 1.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
Bumblebee
Есть неясность, прошу помощи.
Вот код:
var o = {x:1, y:2, z:3};
for (var i in o) console.log(i);
На выходе:
Как работает? (Как я понял)
Строка 1. Объявление объекта "o".
Строка 2. Сначала идет проверка, является ли "o" объектом. В моем случае да, является. И имеет три свойства: x, y, z. Потом идет инициализация переменной i. Успешно. После этого начинается цикл for/in. Каждый раз переменной "i" присваивается очередное свойство объекта "o". Причем, как я понял, не его значение, а его имя, в противном случае консоль выдала бы это:
1
2
3
Теперь, если немного изменить код:
var o = {x:1, y:2, z:3};
for (var i in o) console.log(o);
, то получается такой результат:
Но если вместо console.log(o) написать console.log(o.i), то отладчик выдает ошибку undefined трижды.
Вопрос
В чем косяк? Ведь я прошу его вывести в консоль значения трех свойств объекта "o"
Если просто объявить объект, а потом написать в консоли o.x например, то она выведет 1.
Edited by BumblebeeLink to comment
Share on other sites
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.