HTML5提供了一种新的存储机制。
HTML5提供了一种新的对象Storage,类似于String、Number、Object。通过Storage对象提供的方法和属性来对数据进行增删改查。
实际上我们将数据以键值对的形式保存到Storage对象里,通过Storage对象提供的方法进行数据操作。
增
Storage.setItem()
该方法接受一个键名和值作为参数,将会把键值对添加到存储中,如果键名存在,则更新其对应的值。
删
Storage.clear()
调用该方法会清空存储中的所有键名。
Storage.removeItem()
该方法接受一个键名作为参数,并把该键名从存储中删除。
改
Storage.setItem()
该方法接受一个键名和值作为参数,将会把键值对添加到存储中,如果键名存在,则更新其对应的值。
查
Storage.getItem()
该方法接受一个键名作为参数,返回键名对应的值。
Storage.key()
该方法接受一个数值 n 作为参数,并返回存储中索引为n 的键名
Storage.length
此属性为只读属性,返回存储的数据量
实际上我们并不需要去创建Storage实例,HTML5提供了两个Storage对象 localStorage和sessionStorage,这两个对象是Storage的实例,继承Storage的属性和方法。
localStorage.__proto__===Storage.prototype //true
sessionStorage.__proto__===Storage.prototype //true
两者唯一的区别就是:
sessionStorage数据值保存在会话期间,而localStorage会永久保存在本地(除非手动删除)。
注意:要访问同一个localStorage对象,页面必须来自同一域名
sessionStorage 和 localStorage 的用法基本一致,引用类型的值要转换成JSON