当前位置: 首页 > news >正文

web本地存储-LocalStorage

LocalStorage是HTML5 提供的在客户端存储数据的方法。替代但不同于之前的globalStorage,规则作用范围事先已设定好,是同一个域名(子域无效),使用同一种协议,在同一个端口上。
目前主流的较新版浏览器除IE8以下的以外都支持localstorage。
localStorage 方法存储的数据没有时间限制,除非主动删除,否则永久有效。目前仅支持字符串数据的存取。

localStorage是属于Storage的实例,Storage接口如下:

1 interface Storage {
2    readonly attribute unsigned long length;
3    DOMString? key(unsigned long index);
4    getter DOMString getItem(DOMString key);
5    setter creator void setItem(DOMString key, DOMString value);
6    deleter void removeItem(DOMString key);
7    void clear();
8 };

通过接口可知,Storage实例具有的方法有:

key(index): 在指定的数字位置获取该位置的名字(key)。
getItem(key): 根据指定的名称key获取对应的值。
setItem(key, value): 设置名称key对应的值value。
removeItem(key): 删除名称key对应的名-值对。
clear(): 删除所有值。

另外还有length属性可以获取存储的key-value数量。
读取和设置数据还可以使用点属性名的方式,如
localStorage.name = "test";
var name = localStorage.name; //name = "test"
delete localStorage.name; //删除
虽然如此,但是建议使用接口规范的方法操作。getItem、setItem、removeItem
代码示例1:

1 if(window.localStorage){
2     window.localStorage.setItem("name","test-OK");//
3     var name = window.localStorage.getItem("name");//
4     window.localStorage.removeItem("name");//
5 }else{
6     throw "LocalStorage not available.";
7 }

 

 对于只支持globalStorage的浏览器,localStorage可用globalStorage[location.host];


参考资料:
《JavaScript高级程序设计(第二版)》 第19章 客户端存储
http://www.w3.org/TR/webstorage/ W3C Web Storage

转载于:https://www.cnblogs.com/javawjw/p/LocalStorage.html

相关文章:

  • Firebug Command Line 详细分析
  • 使用shell编程,创建10000个目录,结构类似于9/9/99
  • 制作mac U盘启动
  • 压缩版MySQL在Windows下的安装
  • Windows 2008r2重新接活180天使用
  • 翻译【ElasticSearch Server】第一章:开始使用ElasticSearch集群(1)
  • 转:MVC 下导航超链接本页面高亮的一种解决方案
  • ECSHOP的订单状态
  • 创建正真的Java不可变类
  • 创建Java不可变型的枚举类型Gender
  • hibernate 关系映射之 单向外键关联一对一
  • (转)原始图像数据和PDF中的图像数据
  • 基于HTML5技术的电力3D监控应用(四)
  • 创客运动引发第三次工业革命
  • php错误级别的设置方法
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 2019.2.20 c++ 知识梳理
  • E-HPC支持多队列管理和自动伸缩
  • HashMap ConcurrentHashMap
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • maya建模与骨骼动画快速实现人工鱼
  • Mysql优化
  • PhantomJS 安装
  • RxJS: 简单入门
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 编写高质量JavaScript代码之并发
  • 前端代码风格自动化系列(二)之Commitlint
  • 温故知新之javascript面向对象
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • ​你们这样子,耽误我的工作进度怎么办?
  • #微信小程序:微信小程序常见的配置传值
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (1)虚拟机的安装与使用,linux系统安装
  • (C语言)fgets与fputs函数详解
  • (pojstep1.3.1)1017(构造法模拟)
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (理论篇)httpmoudle和httphandler一览
  • (全注解开发)学习Spring-MVC的第三天
  • (十)T检验-第一部分
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .NET Remoting学习笔记(三)信道
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET学习教程二——.net基础定义+VS常用设置
  • .NET中的Exception处理(C#)
  • ??myeclipse+tomcat
  • @JoinTable会自动删除关联表的数据
  • @RequestMapping用法详解
  • @selector(..)警告提示
  • @Transactional类内部访问失效原因详解
  • [Flutter] extends、implements、mixin和 abstract、extension的使用介绍说明
  • [Golang]K-V存储引擎的学习 从零实现 (RoseDB mini版本)
  • [LeetCode]-225. 用队列实现栈-232. 用栈实现队列
  • [Linux_IMX6ULL驱动开发]-基础驱动
  • [loj6039]「雅礼集训 2017 Day5」珠宝 dp+决策单调性+分治