方法

  1. setItem(name, value):为指定的键设置值
  2. getItem(name):获取指定键的值
  3. key(index):获取index位置的键名
  4. removeItem(name):根据指定的键删除键值对
  5. clear():删除所有的简直对

测试:

sessionStorage.setItem("book", "Professional JavaScript");const sessionLength = sessionStorage.length;for(let i=0;i<sessionLength;i++){const key = sessionStorage.key(i);console.log(`${i}:${key}`);
}

测试结果:

实例化对象

  • sessionStorage
    定义:sessionStorage存储某个特定会话的数据,这些数据值保持在浏览器运行期间。
    特点:
    1、sessionStorage中的数据可以跨越页面刷新而存在
    2、绑定于某个特定的服务器会话
    3、相当于一个页面的全局变量,可以用来记录某个页面的访问次数
  • globalStorage
    定义:拥有特定访问限制的跨越会话存储数据
    特点:
    1、globalStorage不算是storage的实例化对象,globalStorage['baidu.com'](指定哪个域名可以访问
    该数据)才算是storage的实例化对象,才能使用storage对象中的所有方法

  • localStorage
    定义:localStorage和globalStorage都是用于用户数据的长久存储,但是他没有规则的限制,规则早已制定好:只有来自同一域名,使用同一协议,在同一端口上的页面才可以访问localStorage中存储的数据,localStorage已经代替globalStorage来进行长久用户数据的存储

storage事件

  • 触发时间
    只要对Storage对象进行修改,就会在document上触发这个事件,例如调用setItem,removeItem或者clear方法时都会触发这个事件
  • 具体使用方法
    EventUtil.addHandler(document, "storage", (event) => {const change = `Storage changed for ${event.domain}-${event.key}-${event.oldValue}-${event.newValue}`;console.log(change);})

监听事件的返回对象参数有:

  • domain:发生变化的域名
  • key:发生修改的键
  • oldValue:修改前的值
  • newValue:修改后的值

注意:这个事件对localStorage和sessionStorage都有用,但是无法判断是哪一个

使用事例

function updateCounter(){document.getElementById('count1').innerHTML = sessionStorage.pageLoadCount;document.getElementById('count2').innerHTML = localStorage.pageLoadCount;
}function counter(){if(localStorage.getItem('pageLoadCount') === null){localStorage.setItem('pageLoadCount', 0);}if(sessionStorage.getItem('sessionCount') === null){sessionStorage.setItem('pageLoadCount', 0);}localStorage.pageLoadCount = parseInt(localStorage.getItem('pageLoadCount'))  + 1;sessionStorage.pageLoadCount = parseInt(localStorage.getItem('pageLoadCount')) + 1;updateCounter();
}counter();

可以看到每刷新一次页面,pageLoadCount都会加1,但是当关掉这个页面的时候,sessionStorage中的pageLoadCount会还原成1,localStorage中的pageLoadCount还是原来的数

客户端存储——Storage相关推荐

  1. Web - 客户端存储的几种方式

    客户端存储主要方便一些APP离线使用.今天就来说说客户端存储的方法有多少? 说在最前面的一句:所有的客户端存储都有一个原则:读写的数据必须要同域 1 Cookie Cookie是一项很老的技术的,就是 ...

  2. 八、前端开发-JavaScript 客户端存储

    八.前端开发语言体系-JavaScript 客户端存储 文章目录 八.前端开发语言体系-JavaScript 客户端存储 JavaScript 客户端存储 客户端存储简介 Cookie LocalSt ...

  3. JavaScript权威指南--客户端存储

    客户端存储web应用允许使用浏览器提供的API实现将数据存储在用户电脑上. 客户端存储遵循"同源策略",因此不同站点的页面是无法读取对于存储的数据.而同一站点的不同的页面之间是可以 ...

  4. js客户端存储之Web存储

    WEB存储 客户端存储有几种方式,WEB存储就是其中一种.最初作为H5的一部分被定义成API形式,后来被剥离出来作为独立的标准.所描述的API包含localStorage对象和sessionStora ...

  5. [HTML5点滴]客户端存储那些事

    客户端存储 译者:文蔺 原文:http://www.html5rocks.com/en/tutorials/offline/storage/ 客户端存储 介绍 本文是关于客户端存储(client-si ...

  6. 客户端存储和http缓存

    通过本文学习,将获得以下知识: 1. web 端存储有哪些方式 2. 不同存储之间的区别,以及使用场景 3. http缓存有哪些策略 web 存储的由来 为什么需要 web 存储呢,也就是客户端存储, ...

  7. Linux与云计算——第二阶段 第五章:存储Storage服务器架设—分布式存储Ceph

    Linux与云计算--第二阶段Linux服务器架设 第五章:存储Storage服务器架设-分布式存储Ceph 1 Ceph 配置Ceph集群 Install Distributed File Syst ...

  8. Linux与云计算——第二阶段 第五章:存储Storage服务器架设—分布式存储GlusterFS基础...

    Linux与云计算--第二阶段Linux服务器架设 第五章:存储Storage服务器架设-分布式存储GlusterFS基础 1 GlusterFS GlusterFS安装 Install Gluste ...

  9. html5 将资源存于客户端,HTML5离线应用与客户端存储的实现

    html5几种在客户端存储数据的实例详解 LocalStorage LocalStorage用于持久化的本地存储,存储资料在客户端(client)的浏览器上,除非主动删除数据,否则数 据是永远不会过期 ...

最新文章

  1. WAIC | 云天励飞副总裁肖嵘:创「芯」时代 打造自进化城市智能体
  2. C#中各种数据类型转换的方法的类
  3. leetcode算法题--等差数列划分
  4. NOIP2018没有什么新闻
  5. 从零写一个编译器(一):输入系统和词法分析
  6. android adb 静默安装,Android_如何静默安装
  7. 翁恺老师C语言学习笔记(十)指针_指针的使用
  8. 软件测试技术体系-专业术语
  9. 福州计算机专业的大学的校徽,如此好看的大学LOGO,有你的母校吗?
  10. AD13 plugins 安装
  11. 巴菲特投资赚钱的赚钱宝典和赢家暗语
  12. IM 即时通讯开发如何设计图片文件的服务端存储架构
  13. 答题微信小程序实现(7):python3将题库处理成json格式的。
  14. python绘制多边形样例_Python绘制多边形
  15. JME2 和JME3的比较
  16. 基于neo4j构建西游记知识图谱
  17. 我的电脑不显示u盘解决方法
  18. 配置coredns解析公网域名
  19. C++ Vjudge 训练题
  20. 计算机网络11种协议报文格式

热门文章

  1. python3.7安装wxPython后导入wx报错
  2. RS-485总线和Modbus通信协议的关系
  3. const限定符用法汇总
  4. mac os x 10.7下配置svn服务器
  5. Flex里[Exclude]标签的作用:对外忽略/隐藏内部某对象
  6. 前端笔记 | CSS定位
  7. 数据结构笔记(二十三)--哈夫曼树
  8. boost的编译和使用(window下)
  9. html 链接 vf,VFP中超链接实现方法
  10. android volley设置编码,Volley 概览  |  Android 开发者  |  Android Developers