Показать сообщение отдельно
  #1 (permalink)  
Старый 09.09.2010, 20:52
Интересующийся
Отправить личное сообщение для KBEPT Посмотреть профиль Найти все сообщения от KBEPT
 
Регистрация: 06.09.2010
Сообщений: 23

Объекты JavaScript и рациональность их использования.
Всем здравствуйте.

У меня вопрос по поводу рациональности использования своих объектов в скриптах.

Вступление
По некоторым соображениям мне необходимо в процессе выполнения некоторых функций JavaScript, знать и передавать текущие состояния кнопок на форме.
Думал и обдумывал, стараясь "избавиться" от такого хранения состояний кнопок и пришел к решению, что это в моем случае неизбежно.

Объясню теперь подробно
На некоторых страницах сайта, будет расположено немалое количество кнопок, по некоторым подсчетам от 52 до 56, в зависимости от некоторых заранее-известных данных.
Мне необходимо о каждой из этих кнопок хранить данные - нажата или не нажата кнопка.
То есть получается что должно быть 52 или 56 переменных типа Boolean.
Естественно создавать руками 56 переменных, это мягко-говоря - нерационально.
При нажатии на любую из этих 56 кнопок, нужно обязательно знать текущее состояние определенной одной кнопки из остальных 55 кнопок на странице.
Я собираюсь хранить информацию в виде мини-таблицы, то есть как Record(запись) и она будет иметь вид:
-------------------------
| ID Кнопки | Состояние |
-------------------------

Я решил создать собственный объект и хранить данные там.

...
  my_object = new Object();
  my_object["button_0"] = true;
  my_object["button_0"] = false;
  my_object["button_0"] = true;
  my_object["button_0"] = true;
  ...
  my_object["button_56"] = false;
...

Сами свойства объекта я заполняю циклом один раз, сразу после загрузки страницы. Здесь я показал заполнение "вручную" для наглядности.

Доступ к состоянию любой из кнопки естественно очень прост:
...
var need_button = "button_33";
alert( my_object[need_button] );
...

Вопрос
Рационален ли такой подход к моей проблеме или есть другие, более оперативные способы решения моей проблемы ?

Заранее благодарю за ответ(ы)

Последний раз редактировалось KBEPT, 09.09.2010 в 21:01.
Ответить с цитированием