Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2011, 22:43   #1
ValorousWarrior
 
Аватар для ValorousWarrior
 
Регистрация: 19.01.2011
Сообщений: 8
По умолчанию Вопрос по переменным JavaScript

Доброго времени суток!
Ребят, подскажите, пожалуйста, как обратится ко всем переменным в скрипте, например имя которых начинается с "counter" + исключить одну из них?

Переменные, к которым нужно обратится, без перечисления каждой:
counter1
counter2
counter3
counter4
counter5
и т.д.
(К примеру, для того, чтобы присвоить всем им значение 0).
ValorousWarrior вне форума Ответить с цитированием
Старый 22.01.2011, 23:49   #2
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Использовать массив
Cronos20 вне форума Ответить с цитированием
Старый 22.01.2011, 23:57   #3
ValorousWarrior
 
Аватар для ValorousWarrior
 
Регистрация: 19.01.2011
Сообщений: 8
По умолчанию

Может я не совсем точно выразился, в силу того, что я новичек! Это пользовательские переменные, и их число будет все время увеличиваться...
ValorousWarrior вне форума Ответить с цитированием
Старый 23.01.2011, 02:56   #4
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Приведите свой пример, а мы уж посмотрим что делать.
Насколько я знаю javascript не имеет нормального функционала по работе с динамическими именами переменных.
А создавать кучу переменных с циферками - имхо бред, для этого и придуманы массивы.
Что мешает использовать
var counter = new Array(значение1,значение2,значение3 )
И вызывать
counter[0]
counter[1]
counter[2]
??????
Cronos20 вне форума Ответить с цитированием
Старый 23.01.2011, 15:15   #5
yury_coder
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 53
По умолчанию

для динамического именования можно использовать такой принцип:

Код HTML:
var temp = 0, i = 1;
eval('temp = counter' + (i++) + ';');
do
{
  alert( temp );
  eval('temp = counter' + (i++)  + ';');
} while(temp != undefined);
Вместо alert( temp ); любые действия с Вашими данными.
Хотя Cronos20 прав, такой подход нежелателен, лучше использовать массивы.

Если нужно присвоить значение, то в этом цикле пишите так:
Код HTML:
eval('counter' + (i++)  + ' = 0');

Последний раз редактировалось yury_coder; 23.01.2011 в 15:21.
yury_coder вне форума Ответить с цитированием
Старый 23.01.2011, 23:31   #6
ValorousWarrior
 
Аватар для ValorousWarrior
 
Регистрация: 19.01.2011
Сообщений: 8
По умолчанию

Есть массив:

var click = new Array ();

click[0] = 0;
click[1] = 0;
click[2] = 0;
click[3] = 0;
click[4] = 0;
click[5] = 0;
и т.д.

Элементов массива очень много. Всем элементам присвоено "ноль". При исполнении скрипта все элементы массива получают разные цифры, например:

click[0] = 45;
click[1] = 78;
click[2] = 0;
click[3] = 1;
click[4] = 3;
click[5] = 2;
и т.д.

и нужно довольно часто обращаться ко всем элементам массива, чтобы опять присвоить им "нули". Как к ним обратится, чтобы не перечислять их все каждый раз + один из элементов нужно исключить? Например, выбрать:

click[0] = 45;
click[1] = 78;
click[2] = 0;
click[3] = 1;
click[5] = 2;
и т.д.

... а элемент "click[4] = 3;" должен с таким же значением и остаться.
ValorousWarrior вне форума Ответить с цитированием
Старый 24.01.2011, 01:00   #7
yury_coder
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 53
По умолчанию

Я, честно говоря, не понял, какой именно элемент нужно пропустить. Допустим, это всегда 4 элемент, тогда обнуление будет выглядеть так:
Код HTML:
var exception = 4 //Какой элемент будем пропускать

//Массив уже есть, его описывать я не буду
//Обнуление:

for( var i = 0; i < click.length; i++ )//В цикле проходим весь массив
    if( i != exception)
        click[ i ] = 0; //Обнуляем только если нужно
yury_coder вне форума Ответить с цитированием
Старый 29.01.2011, 09:20   #8
ValorousWarrior
 
Аватар для ValorousWarrior
 
Регистрация: 19.01.2011
Сообщений: 8
По умолчанию

Работает, круто! Все оказалось гораздо проще чем я думал Большое спасибо всем, кто откликнулся!
ValorousWarrior вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по Javascript синтаксису... DrStrangeLove JavaScript, Ajax 3 01.01.2011 20:16
Вопрос по переменным ronston Общие вопросы C/C++ 6 06.10.2010 10:27
Вопрос о ошибки Javascript Slash74 JavaScript, Ajax 0 13.05.2010 19:56
Вопрос По Javascript MoT9I JavaScript, Ajax 1 05.01.2009 19:28
Вопрос (новичка) по переменным. grey Помощь студентам 5 03.11.2007 17:25