localstorage 笔记

2017-03-15  本文已影响0人  tanyp

一、基本语法

在客户端存储数据 HTML5 提供了两种在客户端存储数据的新机制:

而在之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。

HTML5 中,数据不是由每个服务器请求传递的,而是只有在请求时使用数据。它使在不影响网站性能的情况下存储大量数据成为可能。

HTML5 使用 JavaScript 来存储和访问数据。可以通过调用Window.sessionStorageWindow.localStorage属性创建一个Storage对象的实例。

Storage 对象以简单的键值得形式来储存数据,键值都是以字符串的形式进行储存,如果一个值是数字,它将被转为字符串。

Storage 对象也提供了一些数据增删改查提供的方法:

下面以localStorage为例来操作数据

localStorage 的方法

localStorage.colorSetting = '#a4509b';
localStorage['colorSetting'] = '#a4509b';
localStorage.setItem('colorSetting', '#a4509b');
localStorage.colorSetting;
localStorage['colorSetting'];
localStorage.getItem('colorSetting');
localStorage.removeItem('colorSetting');
// 删除数据数据时使用单个参数;

localStorage..clear();
// 清空数据数据时不需要参数;

localStorage 和 sessionStorage 的区别

sessionStorage 也具有上面localStorage 使用的一些方法,但不同的是:

localStorage 的巧用

对用户访问页面的次数进行计数:

<script type="text/javascript">
if (localStorage.pagecount)
  {
  localStorage.pagecount=Number(localStorage.pagecount) +1;
  }
else
  {
  localStorage.pagecount=1;
  }
</script>

用户每次刷新页面都会触发localStorage,触发localStorage后都会给 localStorage.pagecount的值增加增加一,以此来达到统计访问量的目的。

用户在当前 session 中访问页面的次数进行计数时,将上面代码中的localStorage换成sessionStorage即可。

二、第三方插件

对于数据多维的储存,使用Storage插件会更加方便,比较常用有Storage.jsstore.js等插件。

store.js 插件:

该插件小巧,简介,兼容性很强,可实现大多数日常的应用。

API

// Store current user
store.set('user', { name:'Marcus' })

// Get current user
store.get('user')

// Remove current user
store.remove('user')

// Clear all keys
store.clearAll()

// Loop over all stored values
store.each(function(value, key) {
    console.log(key, '==', value)
})
上一篇 下一篇

猜你喜欢

热点阅读