Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.01.2012, 17:44
Аспирант
Отправить личное сообщение для Sundro Посмотреть профиль Найти все сообщения от Sundro
 
Регистрация: 25.05.2011
Сообщений: 46

Ошибка доступа к перечисляемым свойствам объекта в массиве for in
Есть такой код который отказывается работать(в Лисе точно),
var startX = 4
var startY = 4
var coordsNeighboringCells = {
x1: [startX,startY-1],
x2: [startX,startY+1],
y1: [startX-1,startY],
y2: [startX+1,startY]
}
for (var prop in coordsNeighboringCells){
alert(prop)
alert(typeof coordsNeighboringCells.(prop))
alert(coordsNeighboringCells.(prop)[0])
}
Предполагалось что он должен работать так, в цикле получаем имя свойства а в выражениии coordsNieghboringCells.(prop) получаю ссылку на массив а с помощью [0] получаю собственно значение. Однако видимо не все так как я думаю, код выдает ошибку, из нее я понять ниче не смог =( Намекните пожалуйста в чем проблема тут.
Ответить с цитированием
  #2 (permalink)  
Старый 08.01.2012, 17:47
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

alert(typeof coordsNeighboringCells.(prop))
----
это че захуйня?

выброси её и замени на
alert(typeof coordsNeighboringCells[prop])
alert(coordsNeighboringCells[prop][0])
Ответить с цитированием
  #3 (permalink)  
Старый 08.01.2012, 18:00
Аспирант
Отправить личное сообщение для Sundro Посмотреть профиль Найти все сообщения от Sundro
 
Регистрация: 25.05.2011
Сообщений: 46

А мля, фак май моск....спасибо. И все-таки почему не работает мой вариант ведь в итоге coordsNeighboringCells.(prop) должен заменится на coordsNeighboringCells.x1[0] и по идее должно работать, т.е я имею ввиду что выражение (prop) должно вычислятся и подставляться при каждом проходе цикла.
Ответить с цитированием
  #4 (permalink)  
Старый 08.01.2012, 18:11
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Sundro Посмотреть сообщение
А мля, фак май моск....спасибо. И все-таки почему не работает мой вариант ведь в итоге coordsNeighboringCells.(prop) должен заменится на coordsNeighboringCells.x1[0] и по идее должно работать, т.е я имею ввиду что выражение (prop) должно вычислятся и подставляться при каждом проходе цикла.
потому что оператор точка работает не с выражениями а с ИДЕНТЕФИКАТОРАМИ.
То есть справа от точки движок ожидает увидеть идентефикатор. а там лежит строка (результат работы выражения).
Ответить с цитированием
  #5 (permalink)  
Старый 08.01.2012, 18:28
Аспирант
Отправить личное сообщение для Sundro Посмотреть профиль Найти все сообщения от Sundro
 
Регистрация: 25.05.2011
Сообщений: 46

Ага еще раз спасибо, сам бы долго еще догонял.
Ответить с цитированием
  #6 (permalink)  
Старый 08.01.2012, 18:57
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Sundro Посмотреть сообщение
Ага еще раз спасибо, сам бы долго еще догонял.
В карму плюсани
Ответить с цитированием
  #7 (permalink)  
Старый 08.01.2012, 19:29
Аспирант
Отправить личное сообщение для Sundro Посмотреть профиль Найти все сообщения от Sundro
 
Регистрация: 25.05.2011
Сообщений: 46

Уже сделал, только она не прибавилась. А второй раз не дает
Ответить с цитированием
  #8 (permalink)  
Старый 08.01.2012, 19:31
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от Sundro Посмотреть сообщение
Уже сделал, только она не прибавилась. А второй раз не дает
Пасиба) решил кармы 10К набрать)) буду всем помогать и прикольные штуки давать)
Ответить с цитированием
Ответ



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

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