Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.10.2011, 13:33
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

wtf javascript
просто нет слов. мож кто объяснить зачем они так сделали ?

var m = [23,,,,45];
alert(m.indexOf(m[1]));
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #2 (permalink)  
Старый 18.10.2011, 13:36
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Как так?

По примеру: первого элемента в массиве не существует, поэтому m[1] == undefined. Но ни одно undefined в массиве нет.

var m = [23,,,undefined,45];
alert(m.indexOf(m[1]));
Ответить с цитированием
  #3 (permalink)  
Старый 18.10.2011, 13:50
Аватар для vflash
Профессор
Отправить личное сообщение для vflash Посмотреть профиль Найти все сообщения от vflash
 
Регистрация: 09.07.2007
Сообщений: 304

Kolyaj,
ну и что, что нет. это же массив.
где тут здравый смысл бегать по массиву как по хешу.
__________________
лучшая rss читалка zzreader.com
Ответить с цитированием
  #4 (permalink)  
Старый 18.10.2011, 14:16
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Потому что массив в JavaScript-е не то же самое, что массив в PHP, и уж тем более не то же самое, что массив в Си.

http://alljs.ru/articles/array/whatis
Ответить с цитированием
  #5 (permalink)  
Старый 18.10.2011, 15:40
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Kolyaj
Потому что массив в JavaScript-е не то же самое, что массив в PHP, и уж тем более не то же самое, что массив в Си.
тогда length неверно работает (по нему второй элемент все же есть). По моему, они там сами не разобрались еще как правильно.
Ответить с цитированием
  #6 (permalink)  
Старый 18.10.2011, 15:42
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Riim
тогда length неверно работает
Что значит неверно? Он работает по спецификации. Нигде не сказано, что он равен количеству элементов в массиве.
Ответить с цитированием
  #7 (permalink)  
Старый 18.10.2011, 15:50
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Kolyaj
Он работает по спецификации.
я понимаю, спецификация и все такое, но просто с точки зрения обычного человеческого восприятия, ни фига ненормально, когда forEach срабатывает меньше раз, чем написано в length. Называлось бы это свойство maxIndex, никаких вопросов бы не было.
Ответить с цитированием
  #8 (permalink)  
Старый 18.10.2011, 15:52
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Я не любитель обсуждать вещи, которые невозможно изменить. Это как о политике на кухне разговаривать. Есть свойство, у него есть название, у него есть предопределённое поведение. Зачем рассуждать, что по чьему-то мнению оно работает не правильно?
Ответить с цитированием
  #9 (permalink)  
Старый 18.10.2011, 16:32
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

Цитата:
Зачем рассуждать, что по чьему-то мнению оно работает не правильно?
Ну может лет эдак через 15 мы будем пользоваться riimscript-ом где будет всё проще и понятнее?
Ответить с цитированием
  #10 (permalink)  
Старый 18.10.2011, 16:39
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Если на кухне порассуждать о "довели страну", жизнь в стране лучше не станет.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Книга] Stoyan Stefanov, Javascript Patterns Dmitry A. Soshnikov Учебные материалы 20 13.08.2013 11:37
Первый Moscow JavaScript Meetup korenyushkin Общие вопросы Javascript 0 26.07.2011 15:23
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24