本地存储cookie,localStorage和sessionStorage

cookie,localStorage和sessionStorage之间的区别是什么?

  • cookie:操作麻烦,需要大量的字符串处理。兼容性好,数据的生命周期可以灵活地设置。
  • localStorage:相对于cookie来说兼容性稍差。数据的生命周期是永久性存储。
  • sessionStorage:数据生命周期在会话期(在当前标签页中),其余的所有特性都类似于localStorage的。

localStorage(永久存储)

  • 设置 localStorage.setItem(key,value) 写入
  • 获取 localStorage.getItem(key)
  • 删除 localStorage.removeItem(key)
  • 全部清空 localStorage.clear()
  • 返回有几条数据 localStorage.length ()

sessionStorage

  • 写入 sessionStorage.setItem(key,value)
  • 获取 sessionStorage.getItem(key)
  • 删除 sessionStorage.removeItem(key)
  • 清空 sessionStorage.clear()
  • 返回有几条数据 sessionStorage…length

cookie原生封装

let cookie = {
    // 写入/修改cookie
    set(key, value, expires) {
        if (typeof expires === "number") {
            let date = new Date();
            date.setDate(date.getDate() + expires)
            document.cookie = `${key}=${value};expires=${date}`;
        } else {
            let d = new Date(expires);
            document.cookie = `${key}=${value};expires=${d}`;
            //  }
        }
    },
    // 读取cookie
    get(key) {
        let arr = document.cookie.split("; ")
        var result = {}
        arr.forEach(item => {
            let key = item.split("=")[0];
            let value = item.split("=")[1];
            result[key] = value;
        })
        return key ? result[key] : result;
    },
    // 删除cookie
    remove(key) {
        if (this.get(key)) {
            document.cookie = key + "=18;expires=" + new Date('1999-09-09');
            return true;
        } else {
            return false;
        }
    }
}
//使用时直接调用
// 示例
//cookie.set("username",$("#username").value,30)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值