Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 12.08.2010, 00:49
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от lancer
Неужели выход только один?
Ну, если ты видишь только такой выход, то уж лучше switch используй
Ответить с цитированием
  #12 (permalink)  
Старый 12.08.2010, 00:50
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от lancer
Переменная n получает значение в процессе работы скрипта,
ССЗБ
var color_arr = new Array(); 
lips_pomade_param = 7; 
color_arr[lips_pomade_param]='<li>Раздел</li>';

n = "lips_pomade_param"; 
_n=eval(n);
alert(color_arr[_n]);

PS не используй это в реальных проектах.
а то Б-женька тебя накажет, а мне оторвет руки
код дан, чисто в ознакомительных целях.
при нормальном написании проекта, твой ситуация просто тне может возникнуть.
и даже если она волзникла(а этого не может ыбть, если ты правильно пишешь), то switch более лучший и правильный выход

Последний раз редактировалось Gvozd, 12.08.2010 в 00:53.
Ответить с цитированием
  #13 (permalink)  
Старый 12.08.2010, 01:01
Профессор
Отправить личное сообщение для lancer Посмотреть профиль Найти все сообщения от lancer
 
Регистрация: 30.01.2008
Сообщений: 230

Насчет switch в курсе, просто еще его не применял, чтобы не внести в вопрос ошибок написал привычно на if'ах.

Вообще, спасибо!

Цитата:
при нормальном написании проекта, твой ситуация просто тне может возникнуть.
Зная класс элемента включаю нужный массив.
Класс использую как переменную mass[class].
Такого не может возникнуть? А что еще такого я могу знать у элемента
что не в стринге? id, data-(name) - тоже стринг.

По сути включаю нужный массив по клику на элемент. Подумал и решил реализовать как вот выше описываю.
Можно по другому?

Последний раз редактировалось lancer, 12.08.2010 в 01:03.
Ответить с цитированием
  #14 (permalink)  
Старый 12.08.2010, 01:15
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Реальность такова, что к одному вопросу можно найти тысячу ответов. Начиная от тупо-бредовых, вроде эвала, и заканчивая вполне адекватными, типа свитча.
А, вообще... правда это секрет.. но ладно, так уж и быть - открою. Есть такая штука как объекты.. Так вот к ним как раз через строки обращаются
var color = {lips_pomade_param:'<li>Раздел</li>'},
n = 'lips_pomade_param'; 
alert(color[n]);
Ответить с цитированием
  #15 (permalink)  
Старый 12.08.2010, 01:36
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от lancer
А что еще такого я могу знать у элемента
что не в стринге?
обработчики событий, к примеру
если быть более верным, то их замыкания.
помещайте туда, что хотите, и будет вам счастье
Ответить с цитированием
  #16 (permalink)  
Старый 12.08.2010, 10:01
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Меня снова будут по голове бить сейчас, но почему нельзя сделать так:
var color_arr = new Array(); 
color_arr["lips_pomade_param"]='<li>Раздел</li>';
n = "lips_pomade_param"; 
alert(color_arr[n]);

Ответить с цитированием
  #17 (permalink)  
Старый 12.08.2010, 10:27
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от inGray
но почему нельзя сделать так
Можно, но не через массив. Почему ты так привязался к ним?! Между вами что-то есть? Кстати, new Array() - это, конечно, наглядно, но лучше объявлять массив через [], имхо.
Используй объекты! Найди, так сказать, одно отличие от того, что написал выше
var color_arr = new Object(); 
color_arr["lips_pomade_param"]='<li>Раздел</li>';
n = "lips_pomade_param"; 
alert(color_arr[n]);

new Object(), конечно, лучше просто через {} объявить

Последний раз редактировалось Sweet, 12.08.2010 в 10:30.
Ответить с цитированием
  #18 (permalink)  
Старый 12.08.2010, 10:33
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Sweet,
Ты меня с lancer спутал )
Ответить с цитированием
  #19 (permalink)  
Старый 12.08.2010, 10:46
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

inGray,
Ой, действительно Но смысл-то тот же
Ответить с цитированием
  #20 (permalink)  
Старый 12.08.2010, 11:03
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

Я и не спорю)) Просто предлагаю решение
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как заставить функцию при запуске увидеть ГЛОБАЛЬНУЮ переменную? возжаждавший Элементы интерфейса 8 23.02.2017 01:27
Как передать переменную с текстом по событию FRIE jQuery 8 20.04.2010 13:03
Разные значения clientWidth в ie и ff SILVERSPEED Events/DOM/Window 6 20.04.2010 01:11
Не могу записать значение в переменную!!! di@mond Элементы интерфейса 3 30.06.2009 23:05
Как обозначить переменную выбранную в FileChooser? woo_hoo Общие вопросы Javascript 4 03.07.2008 12:58