Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.04.2009, 06:25
Alexey 29042009
 
Сообщений: n/a

Сложная переменная
как присвоить простую переменную ясно
var hello1 = 10;
var hello2 = 20;

а как сделать составную переменную

var i=3;
var hello + i = 30;

чтобы получилась переменная hello3=30

спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 29.04.2009, 06:57
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Если я правильно понял, то так:
var hello3 = hello1 + hello2;
Ответить с цитированием
  #3 (permalink)  
Старый 29.04.2009, 07:00
Alexey 29042009
 
Сообщений: n/a

это понятно, а чтобы имя переменной формировалось через переменную i

к примеру в цикле

for(i=0; i<10; i++)
{
var hello+i=0;
}

чтобы на выходе получилось 10 переменных hello0,hello1,hello2,hello3
Ответить с цитированием
  #4 (permalink)  
Старый 29.04.2009, 07:24
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

window['hello' + i] = 0;
Ответить с цитированием
  #5 (permalink)  
Старый 29.04.2009, 09:12
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Для этого массивы придумали.
Ответить с цитированием
  #6 (permalink)  
Старый 29.04.2009, 09:26
Alexey 29042009
 
Сообщений: n/a

конструкция такова

var hello=new Ajax.PeriodicalUpdater(...);

hello.stop();
hello.start();

т.е. цикличное обновление либо останавливаем, либо продолжаем.
всё отлично работает, но проблема в том, что таких блоков может быть 10 и больше... делая это через массив уже не работает

var hello[0]=new Ajax.PeriodicalUpdater(...);
hello[0].start();
hello[0].stop();
Ответить с цитированием
  #7 (permalink)  
Старый 29.04.2009, 09:34
Аспирант
Отправить личное сообщение для evgen28 Посмотреть профиль Найти все сообщения от evgen28
 
Регистрация: 21.01.2009
Сообщений: 38

можно и так
for(i=0; i<10; i++)
{
eval('var hello'+i+'=0');
}
Ответить с цитированием
  #8 (permalink)  
Старый 29.04.2009, 09:45
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Alexey 29042009
делая это через массив уже не работает
Потому что синтаксис надо выучить, прежде чем что-то выдумывать.
var hello = [];
hello[0] = new Ajax.PeriodicalUpdater(...);
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Глобальная переменная, считать правильнае значение в функции konstantinopol Общие вопросы Javascript 11 01.05.2010 23:28
Переменная. идентификатор = инициализатор. Дроздов Общие вопросы Javascript 14 12.01.2010 17:14
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25
Переменная в цикле Snipe Общие вопросы Javascript 2 25.09.2008 17:39
Переменная посреди HTML Борис Низов Элементы интерфейса 5 30.04.2008 10:53