Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.03.2010, 19:12
Кандидат Javascript-наук
Отправить личное сообщение для lammeR Посмотреть профиль Найти все сообщения от lammeR
 
Регистрация: 15.01.2010
Сообщений: 138

не могу понять
Почему не работает такая конструкция?:
var massNums=[0,1,2];
var mass=['num0','num1','num2'];
alert(mass[massNums]);

По идее должны выводиться элементы массива mass, так как числа массива massNums соотв. индексам элементам массива mass

Последний раз редактировалось lammeR, 08.03.2010 в 19:15.
Ответить с цитированием
  #2 (permalink)  
Старый 08.03.2010, 19:13
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

это в каком языке так работает?

Последний раз редактировалось Octane, 08.03.2010 в 19:15.
Ответить с цитированием
  #3 (permalink)  
Старый 08.03.2010, 19:16
Кандидат Javascript-наук
Отправить личное сообщение для lammeR Посмотреть профиль Найти все сообщения от lammeR
 
Регистрация: 15.01.2010
Сообщений: 138

Octane,
ни в каком , я не могу понять почему
Ответить с цитированием
  #4 (permalink)  
Старый 08.03.2010, 19:18
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

жжешь
Ответить с цитированием
  #5 (permalink)  
Старый 08.03.2010, 19:20
Кандидат Javascript-наук
Отправить личное сообщение для lammeR Посмотреть профиль Найти все сообщения от lammeR
 
Регистрация: 15.01.2010
Сообщений: 138

жгу- не жгу, а не понимаю и всё
Ответить с цитированием
  #6 (permalink)  
Старый 08.03.2010, 19:30
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сам придумал какую-то конструкцию и голову ломаешь?)

Вообще в JS это следующим образом работает:
var massNums=[0,1,2];
var mass = ['num0','num1','num2'];

mass[massNums] // логично, что имя свойства объекта — строка,
               // значит для massNums срабатывает toString:
alert(massNums.toString()); // "0,1,2"

// значит мы пытаемся получить свойство c именем "0,1,2" объекта mass,
// которого в объекте нет, вот и получаем undefined:
alert(mass["0,1,2"]);
Ответить с цитированием
  #7 (permalink)  
Старый 08.03.2010, 19:39
Кандидат Javascript-наук
Отправить личное сообщение для lammeR Посмотреть профиль Найти все сообщения от lammeR
 
Регистрация: 15.01.2010
Сообщений: 138

Octane,
ну, наконец, дождался от Вас ответа, спасибо, понял.)
Ответить с цитированием
  #8 (permalink)  
Старый 08.03.2010, 22:05
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

lammeR,
Гы а так:
var masNums = (0,1,2);
var mass = ['num0','num1','num2'];
alert(mass[masNums]);

поймёте?
Ответить с цитированием
  #9 (permalink)  
Старый 08.03.2010, 22:07
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

или вот так:
var masNums = ([0,1,2])[2];
var mass = ['num0','num1','num2'];
alert(mass[masNums]);


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

Gozar, шайтан
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с рекурсией, не могу понять почему скрипт не выходит из неё. Flirer Общие вопросы Javascript 5 24.12.2009 01:01
Не могу понять какая кодировка Andrey Sipin Events/DOM/Window 1 05.10.2009 18:25
Предполагается наличие объекта... не могу понять где косяк mp3moto Internet Explorer 3 18.06.2009 04:34
не могу понять в чём ошибка scuter Общие вопросы Javascript 2 28.08.2008 15:22
Не могу понять как работает jQuery kostiaGt jQuery 2 20.07.2008 08:42