Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 24.06.2010, 14:07
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
Когда-нибудь допишу
Аха, поделится ссылкой не забудь
Я точно помню, что как минимум в двух источниках видел несколько абзацев по этой теме. И твой, Alive Substance, с добавлением элемента в "середину" массива, и твой, Kolyaj, с определением пустых ключей. Причем length ведёт себя как раз логично.
Сообщение от Kolyaj
Нет.
Как нет ты же сам определил эти элементы, соответственно и длина сходится с определением.
Ответить с цитированием
  #12 (permalink)  
Старый 24.06.2010, 14:09
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B~Vladi
Как нет ты же сам определил эти элементы
Нет там элементов. Элемент только один, с индексом 0. Больше элементов нет, а length равен 7 в IE и 6 в остальных браузерах.
Ответить с цитированием
  #13 (permalink)  
Старый 24.06.2010, 14:11
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
Нет там элементов. Элемент только один, с индексом 0
Ни-фи-га. Иначе была бы синтаксическая ошибка. Причем последняя запятая не добавляет элемент, а в ИЕ из-за этого падает скрипт.
Ответить с цитированием
  #14 (permalink)  
Старый 24.06.2010, 14:11
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от subzey
Ушел читать ман
Было бы это в манах-то
Ответить с цитированием
  #15 (permalink)  
Старый 24.06.2010, 14:13
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B~Vladi
Иначе была бы синтаксическая ошибка.
С чего бы вдруг ошибка-то?

var a = [1,,,,];
alert([a.length, 0 in a, 1 in a, 2 in a, 3 in a]);
Ответить с цитированием
  #16 (permalink)  
Старый 24.06.2010, 14:19
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
С чего бы вдруг ошибка-то?
Ну с того, что синтаксис поддерживает такую запись, определяя пустые элементы. Если бы не поддерживал - другое дело.
А к чему этот код приведён был? Там всё вполне понятно и логично.
in вроде как свойство смотрит?

Последний раз редактировалось B~Vladi, 24.06.2010 в 14:22.
Ответить с цитированием
  #17 (permalink)  
Старый 24.06.2010, 14:21
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от B~Vladi
определяя пустые элементы
Не пустые элементы, а пропуски элементов.

Сообщение от B~Vladi
А к чему этот код приведён был?
Код показывает, что в массиве существует только нулевой индекс, а length при этом равно 4(5).
Ответить с цитированием
  #18 (permalink)  
Старый 24.06.2010, 14:24
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Сообщение от Kolyaj
а length при этом равно 4(5)
Дк вот почему так решили написать... Типа всё-таки происходит добавление. Наверно чтобы не травмировать неокрепшие умы
Да, кста, осёл в своем духе.
Ответить с цитированием
Ответ



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

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