Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.01.2012, 18:05
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

LOCAL-STORGE ФУНКЦИЯ ДЛЯ РАБОТЫ!
(function(i){function e(b,a){if(null==a)return localStorage.removeItem(b),!0;switch(typeof a){case "string":a+="s";break;case "number":a+="n";break;case "boolean":a+="b";break;case "function":a=a.toString().replace(/\s+/g," ").match(/function.*{(.*)}/)[1]+"f";break;case "object":a=JSON.stringify(a)+"o"}try{return localStorage.setItem(b,a),!0}catch(c){if(c==QUOTA_EXCEEDED_ERR)return console.log("Local storage overflowing"),!1}}function f(b,a){var a=localStorage.getItem(b),c=a[a.length-1],a=a.slice(0,
-1);switch(c){case "s":return a;case "n":return Number(a);case "b":return Boolean(a);case "f":return Function(a);case "o":return JSON.parse(a)}}function h(b,a){if(a)for(c in b){if(c in localStorage)break;e(c,b[c])}else for(var c in b)e(c,b[c])}if(!localStorage)return console.log("localStorage not supported"),!1;window[i]=function(b,a){if(0==arguments.length){var c={},d;for(d in localStorage)c[d]=f(d);return c}if(1==arguments.length){if(null===b)return localStorage.clear(),!0;if("object"==typeof b)return h(b),
!0;c=!1}else if(2==arguments.length){if("object"==typeof b)return h(b,a),!0;c=!0}var g=b.indexOf(".");if(-1==g)if(c)e(b,a);else return f(b);else if(0==g)if(c)for(d in localStorage)-1!=d.indexOf(b)&&d.indexOf(b)+b.length==d.length&&e(d,a);else{c=[];for(d in localStorage)-1!=d.indexOf(b)&&d.indexOf(b)+b.length==d.length&&c.push(f(d));return c}else if(g==b.length-1)if(c)for(d in localStorage)0==d.indexOf(b)&&e(d,a);else{c=[];for(d in localStorage)0==d.indexOf(b)&&c.push(f(d));return c}else if(c)e(b,
a);else return f(b);return!0}})
('storge') //сюда вводим имя функции которое нам приятнее юзать

/*
*  storge('keyName', value)  установить значение
*  storge('keyName')  получить значение
*  storge('keyName', null) удалить ключ
*  storge(null) очистить хранилище
*/

storge('keyName', function(){alert('няяяя!')})
var func = storge('keyName')
func()//няяяя!




сохраняет строки, числа, функции, массивы, булины, объекты возвращает все в соответствии с типами. юзайте на здоровье)

ИСПОЛЬЗОВАНИЕ:

storge('keyName', value) // установить ключ

storge('keyName') // получить значение

storge('keyName', null) // удалить ключ

storge(null) // очистить хранилище

var dump = storge() // получить дамп хранилища

storge(dump) //слить обьект с хранилещем с заменой ключей которые уже имеются

storge(dump, true) //слить обьект с хранилещем без замены уже существующих значений, щадящий режим включен



ПРОСТРАНСТВО ИМЕН:

storge('name', 200) //установить ключ name в 200
storge('name') //получить ключ name

storge('name.q', 40) //установить name.q в 40
storge('name.w', 30) //установить name.w в 30
//при этом name по прежнему жива и равна 200 потому что её мы не трогали

storge('name.q') //получить значение name.q, все как обычно


теперь интереснее
storge('name.') //получить массив ПОДключей name, то есть массив [name.q, name.w] НЕ включая саму name

еще интересней
storge('name.', 'ня') //установить все ПОДключи name в 'ня'

совсем интересно
storge('name.', null) //удалить все ПОДключи name, при том сама name останется нетронутой

god mode
storge('.qq', null) //удалить все ПОДключи с именем qq, родители их останутся не тронутыми
Ответить с цитированием
  #2 (permalink)  
Старый 07.01.2012, 18:16
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

а мусорить то на форуме зачем? одной темы мало чтоль?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Модуль для работы с модулями JSprog Ваши сайты и скрипты 29 02.09.2009 13:31
Переодическое обновление значений для графика, функция для обновления значений yupa87 Общие вопросы Javascript 0 09.07.2009 14:48
Функция onclick для созданных потомков Groonel Общие вопросы Javascript 6 24.04.2009 18:35
Script для автоматизации работы с браузером ksa791 Общие вопросы Javascript 6 02.04.2009 14:30