localStorage - 没有时间限制的数据存储程序员
sessionStorage - 针对一个 session 的数据存储api
共同点:sessionStorage、localStorage和cookie都由浏览器存储在本地的数据。浏览器
区别:服务器
- cookie数据始终在同源的http请求中携带(即便不须要),即cookie在浏览器和服务器间来回传递,localStorage和sessionStorage仅保存在客户端,不与服务器进行交互通讯。
- cookie只在设置的cookie过时时间以前一直有效,即便窗口或浏览器关闭。localStorage:始终有效,窗口或浏览器关闭也一直保存,所以用做持久数据。sessionStorage 方法针对一个 session 进行数据存储。当用户关闭浏览器窗口后,数据会被删除。
- 存储大小限制也不一样,cookie数据不能超过4k,同时由于每次http请求都会携带cookie,因此cookie只适合保存很小的数据,如会话标识。localStorage 和sessionStorage,但比cookie大得多,能够达到5M或更大。
- localStorage支持事件通知机制,能够将数据更新的通知发送给监听者。 api 接口使用更方便。而cookie的原生接口不友好,须要程序员本身封装
- 做用域不一样,sessionStorage不在不一样的浏览器窗口中共享,即便是同一个页面;localStorage 在全部同源窗口中都是共享的;cookie也是在全部同源窗口中都是共享的。Web Storage 支持事件通知机制,能够将数据更新的通知发送给监听者。Web Storage 的 api 接口使用更方便。
- 应用场景:localStoragese:经常使用于长期登陆(+判断用户是否已登陆),适合长期保存在本地的数据。sessionStorage:敏感帐号一次性登陆;
localStorage提供了几个方法:cookie
1.存储:localStorage.setItem(key,value)若是key存在时,更新valuesession
2.获取 localStorage.getItem(key)若是key不存在返回nullspa
3.删除 localStorage.removeItem(key)一旦删除,key对应的数据将会所有删除对象
4.所有清除 localStorage.clear() 使用removeItem逐个删除太麻烦,可使用clear,执行的后果是会清除全部localStorage对象保存的数据。接口