Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.12.2012, 00:42
Интересующийся
Отправить личное сообщение для shifteee Посмотреть профиль Найти все сообщения от shifteee
 
Регистрация: 01.06.2012
Сообщений: 13

data storage
Всемогущие, помогите!

иимеется функция:
...

this.toHash = function(el, act) {
        var dgs = [some digits, dependent on el];
        var name = [some string, dependent on el];

       var hash = {};
       hash.name = new Array();
       hash.dgs = new Array();
        
        var push = function() {
           ...
             
             hash.dgs.push(dgs);
             hash.name.push(name);
        };
        
        var del = function () {
            ...
        };

        switch(act) {
            case('ins') : 
                push();
                break;
                
        }
};

...


Задача проста как песня: сделать из hash хранилище данных, остающееся после выполнения функции this.toHash, не выпихивая ее определение за само тело функции this.toHash.

В приведенном тексте естественно после выполнения кода эта часть
Код:
07	       var hash = {};
08	       hash.name = new Array();
09	       hash.dgs = new Array();
удаляется, а при запуске this.toHash создается новый объект hash. А хотелось бы чтобы объект hash оставался бы на всегда

Буду благодарен за подсказки

Последний раз редактировалось shifteee, 25.12.2012 в 00:55.
Ответить с цитированием
  #2 (permalink)  
Старый 25.12.2012, 08:17
жажду знаний
Отправить личное сообщение для bushstas Посмотреть профиль Найти все сообщения от bushstas
 
Регистрация: 17.07.2009
Сообщений: 202

а что если сделать переменную hash глобальной убрав перед ней
var
Ответить с цитированием
  #3 (permalink)  
Старый 25.12.2012, 11:57
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от bushstas
а что если сделать переменную hash глобальной убрав перед ней
что за вредные советы вы тут даете

может стоит:
this.toHash = function(el, act) {
    var dgs = [some digits, dependent on el];
    var name = [some string, dependent on el];
 
    var hash = this.__hash = this.__hash || {name: [], dgs: []};
         
    var push = function() {
        ...
              
        hash.dgs.push(dgs);
        hash.name.push(name);
    };
         
    var del = function () {
        ...
    };
 
    switch(act) {
        case('ins') : 
            push();
            break;
              
    }
};
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #4 (permalink)  
Старый 25.12.2012, 19:37
Интересующийся
Отправить личное сообщение для shifteee Посмотреть профиль Найти все сообщения от shifteee
 
Регистрация: 01.06.2012
Сообщений: 13

Спасибо. Коротко и по делу
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка события с Local Storage taobo Events/DOM/Window 6 29.08.2012 14:36
load data infile kilogram Серверные языки и технологии 5 09.07.2012 13:25
Что за data??? macexa jQuery 3 12.09.2010 14:31
Ajax разбор метода mycoding jQuery 14 21.05.2010 10:57
SWFUpload - undefined server data zipp3r Элементы интерфейса 0 25.10.2009 08:38