知识梳理:web本地存储(localStorage、sessionStorage)

321 阅读1分钟

Web Storage 包括了两种存储方式:sessionStorage 和 localStorage。 sessionStorage 用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问,会话结束后数据也随之销毁。localStorage 用于存储一个域名下的需要永久存在在本地的数据,这些数据可以被一直访问,直到这些数据被删除。因此sessionStorage 和 localStorage 的主要区别在于他们存储数据的生命周期,sessionStorage 存储的数据的生命周期是一个会话,而 localStorage 存储的数据的生命周期是永久,直到被主动删除,否则数据永远不会过期。

  • sessionStorage(临时存储) :为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载。
  • localStorage(长期存储) :与 sessionStorage 一样,但是浏览器关闭后,数据依然会一直存在。
  • sessionStorage 和 localStorage 的用法基本一致,引用类型的值要转换成JSON。

保存数据到本地

    const info = {
        name: 'Lee',
        age: 20,
        id: '001'
    };
    sessionStorage.setItem('key', JSON.stringify(info));
    localStorage.setItem('key', JSON.stringify(info));

从本地存储获取数据

    var data1 = JSON.parse(sessionStorage.getItem('key'));
    var data2 = JSON.parse(localStorage.getItem('key'));

本地存储中删除某个保存的数据

    sessionStorage.removeItem('key');
    localStorage.removeItem('key');

删除所有保存的数据

    sessionStorage.clear();
    localStorage.clear();

监听本地存储的变化

    window.addEventListener('storage', function (e) {
        console.log('key', e.key);
        console.log('oldValue', e.oldValue);
        console.log('newValue', e.newValue);
        console.log('url', e.url);
    })