尼采般地抒情

尼采般地抒情

尼采般地抒情

音乐盒

站点信息

文章总数目: 316
已运行时间: 1570

本地存储特性

  • 数据存储在用户浏览器中
  • 设置、读取方便、甚至页面刷新不丢失数据
  • 容量较大,sessionStorage5MlocalStorage20M
  • 只能存储字符串,可以将对象JSON.stringify()编码后存储,然后使用的使用JSON.parse()转换回对象

window.sessionStorage

1、生命周期为关闭浏览器窗口

2、在同一个窗口(页面)下数据可以共享

3、以键值对的形式存储使用

存储数据:

sessionStorage.setItem(key, value)

获取数据:

sessionStorage.getItem(key)

删除数据:

sessionStorage.removeItem(key)

清空数据:(所有都清除掉)

sessionStorage.clear()

window.localStorage

1、声明周期永久生效,除非手动删除 否则关闭页面也会存在

2、可以多窗口(页面)共享(同一浏览器可以共享)

3.  以键值对的形式存储使用

存储数据:

localStorage.setItem(key, value)

获取数据:

localStorage.getItem(key)

删除数据:

localStorage.removeItem(key)

清空数据:(所有都清除掉)

localStorage.clear()

工具函数的封装

class StorageFn {
    constructor () {
        this.ls = window.localStorage;
        this.ss = window.sessionStorage;
    }

/*-----------------cookie---------------------*/
/*设置cookie*/
setCookie (name, value, day) {
    var setting = arguments[0];
    if (Object.prototype.toString.call(setting).slice(8, -1) === 'Object'){
        for (var i in setting) {
            var oDate = new Date();
            oDate.setDate(oDate.getDate() + day);
            document.cookie = i + '=' + setting[i] + ';expires=' + oDate;
        }
    }else{
        var oDate = new Date();
        oDate.setDate(oDate.getDate() + day);
        document.cookie = name + '=' + value + ';expires=' + oDate;
    }
    
}

/*获取cookie*/
getCookie (name) {
    var arr = document.cookie.split('; ');
    for (var i = 0; i < arr.length; i++) {
        var arr2 = arr[i].split('=');
        if (arr2[0] == name) {
            return arr2[1];
        }
    }
    return '';
}

/*删除cookie*/
removeCookie (name) {
    this.setCookie(name, 1, -1);
}


/*-----------------localStorage---------------------*/
/*设置localStorage*/
setLocal(key, val) {
    var setting = arguments[0];
    if (Object.prototype.toString.call(setting).slice(8, -1) === 'Object'){
        for(var i in setting){
            this.ls.setItem(i, JSON.stringify(setting[i]))
        }
    }else{
        this.ls.setItem(key, JSON.stringify(val))
    }
    
}

/*获取localStorage*/
getLocal(key) {
    if (key) return JSON.parse(this.ls.getItem(key))
    return null;
    
}

/*移除localStorage*/
removeLocal(key) {
    this.ls.removeItem(key)
}

/*移除所有localStorage*/
clearLocal() {
    this.ls.clear()
}


/*-----------------sessionStorage---------------------*/
/*设置sessionStorage*/
setSession(key, val) {
    var setting = arguments[0];
    if (Object.prototype.toString.call(setting).slice(8, -1) === 'Object'){
        for(var i in setting){
            this.ss.setItem(i, JSON.stringify(setting[i]))
        }
    }else{
        this.ss.setItem(key, JSON.stringify(val))
    }
    
}

/*获取sessionStorage*/
getSession(key) {
    if (key) return JSON.parse(this.ss.getItem(key))
    return null;
    
}

/*移除sessionStorage*/
removeSession(key) {
    this.ss.removeItem(key)
}

/*移除所有sessionStorage*/
clearSession() {
    this.ss.clear()
}

}

评论区