8 / 8 / 1
Регистрация: 12.11.2012
Сообщений: 48
|
||||||
1 | ||||||
Динамическое имя переменной31.07.2013, 10:32. Показов 39006. Ответов 10
Метки нет (Все метки)
Возможно ли обратиться к переменной, имя которой заранее неизвестно?
Ну, например, имеем:
То есть все три переменные уже существуют, но к какой именно будет производиться обращение неизвестно. Как это реализоваться, если это возможно?
0
|
31.07.2013, 10:32 | |
Ответы с готовыми решениями:
10
Создание переменной, имя которой включает имя другой переменной Имя переменной составить из значения другой переменной? Динамическое название переменной Имя переменной |
9 / 9 / 2
Регистрация: 30.07.2013
Сообщений: 44
|
|||||||||||
31.07.2013, 11:24 | 2 | ||||||||||
сделай массив
Либо смотри в сторону eval() если с массивами нельзя
1
|
8 / 8 / 1
Регистрация: 12.11.2012
Сообщений: 48
|
|
31.07.2013, 11:28 [ТС] | 3 |
Спасибо, попробую.
0
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
|
01.08.2013, 02:54 | 4 |
window ['data' + N], где N - тот самый динамически формирующийся номер
2
|
8 / 8 / 1
Регистрация: 12.11.2012
Сообщений: 48
|
||||||
01.08.2013, 10:24 [ТС] | 5 | |||||
kalabuni, то есть обращение будет выглядеть так:
0
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
|
01.08.2013, 10:43 | 6 |
нет, вы неправильно поняли
а именно не поняли того, что я вам не нянька вы вполне можете самостоятельно запустить в браузере написанный вами код и узнать - работает он или не работает
0
|
01.08.2013, 12:12 | 7 | ||||||||||
Этот код не рабочий:
2
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
||||||
01.08.2013, 12:23 | 8 | |||||
Mysterious Light, разумеется, если переменные будут локальными,
то обращаться к ним как к свойствам объекта window будет нельзя но откуда вы взяли, что они обязательно будут определяться внутри функции как локальные? даже если такое желание у топикстартера и было, ничто не может помешать ему сделать эти переменные глобальными надо просто убрать дефиницию var внутри функции и ваш код превратится в рабочий
Не по теме: (в скобках напомню золотое правило интернета: если можешь не писать - не пиши)
0
|
01.08.2013, 12:58 | 9 |
Я предположил, что ТС может желать соблюдать глобальную область в чистоте и порядке. Обратное считается дурным тоном. ИМХО, не безосновательно.
Как Вам кажется, что лучше: выводить все неизвестно сколько переменных в window, даже если они используются только внутри одной функции как локальные, или использовать один опрятный массив/объект? Не по теме: Да-да, я знаю, что я пытался ответить не на прямой вопрос ТС. Но мне кажется многовероятным, что он просто ещё не понял, что нужен легкий рефакторинг.
0
|
супермизантроп
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
|
|
01.08.2013, 16:39 | 10 |
согласен, что не стоит перегружать объект window дополнительными свойствами без необходимости
но если такая необходимость есть, то почему бы и не использовать? объект window - он неисчерпаем, как вселенная (или как атом): десяток, сотня или даже пару тысяч глобальных переменных - пустяк для него разумеется, лично я бы использовал в своих построениях индексный массив но, вполне может быть, что когда-то, в очень редких случаях, "кому-то кое где у нас порой" понадобится и такая "система переменных"
0
|
8 / 8 / 1
Регистрация: 12.11.2012
Сообщений: 48
|
|
02.08.2013, 15:14 [ТС] | 11 |
Mysterious Light, спасибо большое! Идея с объектами сработала на ура
Демо
0
|
02.08.2013, 15:14 | |
02.08.2013, 15:14 | |
Помогаю со студенческими работами здесь
11
Имя переменной Загадочное имя переменной «name» Как получить имя переменной? Можно ли склеить имя переменной из частей? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |