以前一直听说这个名字,今天来做一个细致的梳理。
来历
因为cookie太小了,就有了storage。
有localStorage和sessionStorage ,sessionStorage保存的数据回话结束时通常是窗口关闭时结束。localStorage长期存在。
属性和方法
这两个都是Storage类型的实例,所以继承了Storage的方法和属性。
它只有一个Storage.length这一个属性,和5个方法:
clear()
getItem(name)
key(index)
removeItem(name)
setItem(name,value)
事件
Storage 接口储存的数据发生变化时,会触发 storage 事件,可以指定这个事件的监听函数。
StorageEvent.key:字符串,表示发生变动的键名。如果 storage 事件是由clear()方法引起,该属性返回null。
StorageEvent.newValue:字符串,表示新的键值。如果 storage 事件是由clear()方法或删除该键值对引发的,该属性返回null。
Storage.oldValue:字符串,表示旧的键值。如果该键值对是新增的,该属性返回null。
Storage.storageArea:对象,返回键值对所在的整个对象。也说是说,可以从这个属性上面拿到当前域名储存的所有键值对。
Storage.url:字符串,表示原始触发 storage 事件的那个网页的网址。