JS的本地保存localStorage、sessionStorage用法总结:

1. localStorage、sessionStorage是Html5的特性,IE7以下浏览器不支持

为什么要掌握localStorage、和sessionStorage:

2. JS中为了减少与服务器的通信,经常会用到保存的数据到本地的功能,例如本地用户信息保存。

3. localStorage和sessionStorage的区别:

(1)、localStorage和sessionStorage一样都是用来存储客户端临时信息的对象。

(2)、他们均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目前为止没有浏览器对其进行实现)。

(3)、localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在。

sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了

(4)、不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。这里需要注意的是,页面及标签页仅指顶级窗口,如果一个标签页包含多个iframe标签且他们属于同源页面,那么他们之间是可以共享sessionStorage的。

(5)、

http://www.test.com

https://www.test.com (不同源,因为协议不同)

http://my.test.com(不同源,因为主机名不同)

http://www.test.com:8080(不同源,因为端口不同)

4.localStorage、和sessionStorage的用法:

localStorage和sessionStorage使用时使用相同的API:

localStorage.setItem("key","value");//以“key”为名称存储一个值“value”

localStorage.getItem("key");//获取名称为“key”的值

5.枚举localStorage的方法:

for(var i=0;i<localStorage.length;i++){

     var name = localStorage.key(i)​;

     var value = localStorage.getItem(name);​

}

6.删除localStorage中存储信息的方法:

localStorage.removeItem("key");//删除名称为“key”的信息。

localStorage.clear();​//清空localStorage中所有信息

代码实现:

sessionStorage.setItem("user_name","test333");  

alert(sessionStorage.getItem("user_name"));   //打印test333  

sessionStorage.setItem("user_name","test22");  

alert(sessionStorage.getItem("user_name"));   //打印test22

localStorge和sessionStorage的用法基本一致,关于cookie、sessionStorage、localStorage的区别可以这篇文章:https://www.cnblogs.com/jacobb/p/6824838.html

关于session的实际应用(获取用户上一次的浏览位置)可以参考这篇文章:https://blog.csdn.net/oaa608868/article/details/53539954

最新文章

  1. Math
  2. 配置IP地址
  3. JS---DOM操作有哪一些
  4. SignalR入门之从外部访问持久性连接或Hub
  5. System.Web.HttpCompileException (0x80004005): (0): error CS0016: 未能写入输出文件
  6. [异常] openCV安装和配置
  7. 【笨嘴拙舌WINDOWS】字符类型与字符串
  8. 禁止选择文本和禁用右键 v2.0
  9. chrome浏览器强制采用https加密链接
  10. 漫谈格兰杰因果关系(Granger Causality)——第一章 野火烧不尽,春风吹又生
  11. windows将某个应用加入开机启动项的解决办法
  12. CSS预编译器less简单用法
  13. IBM RAD 快捷键
  14. [Swift]LeetCode770. 基本计算器 IV | Basic Calculator IV
  15. logback.xml的使用,将日志异步保存到数据库中
  16. HDU 2081 手机短号
  17. android 开发中 sdk 无法更新
  18. Linux常用文本操作命令整理
  19. Web 前端 注意知识点
  20. ViewHolder的标准写法

热门文章

  1. 理解Windows消息循环机制
  2. (转)oracle的split函数
  3. (转)Oracle存储过程中的事务
  4. 安装Visual C ++进行跨平台移动开发
  5. python&#39;s ninteenth day for me 类的组合,继承。
  6. linux中zookeeper
  7. Hibernate4.3.5入门HelloWorld
  8. 如何将serialport接收的字符串转换成十六进制数c#
  9. bash&amp;nbsp;shell笔记6&amp;nbsp;脚本控制
  10. cuteFTP软件往linux中上传文件时报…