Javascript.RU

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

for..in обращение к свойствам
доброго дня, уважаемые знатоки.
подскажите пожалуйста, в чем разница при использовании цикла for..in в обращении к свойствам
в примере на странице http://javascript.ru/for..in
указано два варианта обращения к свойствам объекта: p и a[p]
var a = {
  p1: 1,
  p2: 2
}
for(var p in a) {
alert(p) // p1, затем p2
// к значению каждого свойства прибавить 1
  a[p] = a[p] + 1
}
Ответить с цитированием
  #2 (permalink)  
Старый 14.10.2014, 02:02
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

for(var p in a) - Что по твоему делает эта строчка ?
т.е. нужно что бы ты очень подробно разобрал и поняль
т.е. какие переменные где и для чего создаются что в них хранится ... и.т.д

«указано два варианта обращения к свойствам объекта: p и a[p] » это мнение неправильное
Ответить с цитированием
  #3 (permalink)  
Старый 14.10.2014, 21:20
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Потому что там как обычно, понапишут, литераторы-итераторы

for (property in object)

Никакая это не проперть, это key.

То есть сначала задурили моск, потом начали объяснять как правильно. Сразу правильно написать нация не позволяет.
Ответить с цитированием
  #4 (permalink)  
Старый 14.10.2014, 21:23
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Ну вот же, православно

for (variable in object) {...
}

https://developer.mozilla.org/en-US/...ments/for...in

Бяда-бяда у нас с русским, скоро на нем и писать нечего будет.
Ответить с цитированием
  #5 (permalink)  
Старый 14.10.2014, 21:30
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

И вообще for... in это частный случай, общий случай - in

if(key in object)
 console.log(object[key]);


Квадратные скобки нужны когда идентификатор (key - ключ которым открывается квартира где деньги лежат) заранее неизвестен, или имеет не благообразный вид.

Нельзя напечатать object.key потому что key будет считаться скаляром - текстом object['key'], в то время как key - переменная в которой например 'Квартира №25' о которой еще ничего не известно.

Поэтому object[key] после вычисления значения ключа теоретически может выглядеть так object.Квартира №25. Но так не бывает снаружи, а что там внутри в дереве творится - нас не колебет.

Последний раз редактировалось kostyanet, 14.10.2014 в 21:33.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как реализовать обращение к объекту, конкретнее см внутри kichSman jQuery 4 15.08.2012 18:06
JQuery После клонирования по id обращение к элементам клона mirek Общие вопросы Javascript 21 07.06.2012 20:02
Обращение к свойствам grid lastbronetrain ExtJS 19 06.12.2010 23:19
Почему код работает? (обращение к форме из window) Василий Б. Элементы интерфейса 10 21.04.2010 10:10
Обращение к элементам сайта Воитель Элементы интерфейса 6 20.08.2009 11:26