JavaScript工具类(三):localStorage本地储存

版权声明:原创文章,引用请注明出处! https://blog.csdn.net/guang_s/article/details/86687438
/**
 * @description: 通用工具类
 * @author: guang.shi <https://blog.csdn.net/guang_s> 
 * @date: 2018-12-13 15:38:27 
 */
'use strict';

(function (window) {
    var u = {}; 
    
	u.storage = {};
    
    /**
     * @description 获取localStorage对象,兼容android(android原生系统老系统不支持localstorage)
     * @return localStorage对象
     */
    function uzStorage() {
        var ls = window.localStorage;
        if (u.browser.isAndroid()) {
            ls = os.localStorage();
        }
        return ls;
    }

    /**
     * @description 设置本地储存
     * @param {String} key 储存的名字
     * @param {*} value 储存的值
     */
    u.storage.set = function (key, value) {
        if (arguments.length === 2) {
            var v = value;
            if (typeof v === 'object') {
                v = JSON.stringify(v);
                v = 'obj-' + v;
            } else {
                v = 'str-' + v;
            }
            var ls = uzStorage();
            if (ls) ls.setItem(key, v);
        }
    };

    /**
     * @description 获取本地储存的数据
     * @param {String} key 要获取的数据对应的名字
     * @return {*}
     */
    u.storage.get = function (key) {
        var ls = uzStorage();
        if (ls) {
            var v = ls.getItem(key);
            if (!v) return;
            if (v.indexOf('obj-') === 0) return JSON.parse(v.slice(4));
            else if (v.indexOf('str-') === 0)  return v.slice(4);
        }
    };

    /**
     * @description 删除本地储存中某些数据
     * @param {String} key 要删除的数据对应的名字
     */
    u.storage.remove = function (key) {
        var ls = uzStorage();
        if (ls && key) ls.removeItem(key);
    };

    /**
     * @description 清空本地储存的所有数据
     */
    u.storage.clear = function () {
        var ls = uzStorage();
        if (ls) ls.clear();
    };
    
	window.util = u;
})(window);

.

下载

npm i sg-utils -D

相关文章

JavaScript工具类(一):util.js创建及上传
JavaScript工具类(二):cookie缓存
JavaScript工具类(三):localStorage本地储存
JavaScript工具类(四):数据类型
JavaScript工具类(五):string字符串
JavaScript工具类(六):number数字
JavaScript工具类(七):array数组
JavaScript工具类(八):object对象
JavaScript工具类(九):date日期
JavaScript工具类(十):base64
JavaScript工具类(十一):浏览器类型

猜你喜欢

转载自blog.csdn.net/guang_s/article/details/86687438