本地储存

91 阅读2分钟

1、window.localStorage

    浏览器的本地存储,持久化存储,存储之后不手动删除,就永远存在
    在存储的时候,只能存储字符串
    可以实现页面通讯
    
    增:window.localStorage.setItem(key,value)
    删:window.localStorage.removeTtem(key)
    清空:window.loaclStorage.clear()
    查:window.localStorage.getItem(key)

2、 window.sessionStorage

    浏览器本地存储,但是是临时存储,浏览器关闭后,存储内容消失
    跨页面通信,必须是从当前页面跳转过去的才能实现通讯
    增:window.sessionStorage.setItem(key,value)
    删:window.sessionStorage.removeItem(key)
    清空:window.sessionStorage.clear()
    查:window.sessionStorage.getItem(key)

3、 cookie

    只能存储字符串,并且有自己的固定格式 document.cookie = 'key=value'
    存储大小为 4kb 左右
    存储具有时效性
        默认为sessionStorage,但是我们也可以指定过期时间
        在创建存储时 可以用 document.cookie = ' key=value;expires=' + time
    操作必须依赖浏览器
        目前可以借助 liveserver  启动页面,不要以本地方的方式启动
    前后端通信的时候,会把cookie  内部存储的数据发送到后端
    前后端都可以操作
    存储依赖域名,同一个域名内可以通讯,否则不可以

4、 三者的区别

storage 和 cookie 的区别

    出现时间
        cookie  有js就有了
        storage  在H5的时候才有的
    存储大小
        cookie     4kb左右
        storage    4MB~20MB
    前后端交互
        cookie   交互时会自动传递给后端
        storage   交互时不会自动传递给后端,但能手动传递
    前后端操作
        cookie   前后端语言都可以操作
        storage   只能前端操作
    过期时间
        cookie      可以手动指定时间,也有默认时间 (sessionStorage)
        storage     没有过期时间

localStorage 和 sessionStorage

    过期时间
        localStorage    持久化存储,除非手动清除
        sessionStorage      临时存储,关闭浏览器数据就会被清除
    跨页面通信
        localStorage   可以跨页面通信
        sessionStorage    只能从当前页面跳转过去的才可以实现
    共同点
        都必须是字符串
        存储数据其他数据类型的时候,需要借助 JSON 的方法进行一个类型转换