学习导读
随着互联网的快速发展,基于网页的应用越来越普遍,同时也变得越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,html5规范提出了相关解决方案。
学习目标
- 能够写出sessionStorage数据的存储以及获取
- 能够写出localStorage数据的存储以及获取
- 能够说出他们两者的区别
本地存储特性
- 数据存储在用户浏览器中
- 设置,读取方便,甚至页面刷新不丢失数据
- 容量较大,sessionStorage约5M,localSotrage约20M
- 只能存储字符串,可以将对象JSON.stringify()编码后存储
window.sessionStorage
- 生命周期为关闭浏览器窗口
- 在同一个窗口(页面)下数据可以共享
- 以键值对的形式存储使用
- 存储数据
sessionStorage.setItem(key,item);
- 获取数据
sessionStorage.getItem(key);
- 删除数据
sessionStorage.removeItem(key);
- 删除所有数据
sessionStorage.clear();
案例
HTML部分
<input type="text">
<button class="set">存储数据</button>
<button class="get">获取数据</button>
<button class="remove">删除数据</button>
<button class="del">清空所有数据</button>
JS部分
var ipt = document.querySelector('input');
var set = document.querySelector('.set');
var get = document.querySelector('.get');
var remove = document.querySelector('.remove');
var del = document.querySelector('.del');
set.addEventListener('click',function () {
//当我们点击了之后,就可以把变单里面的值存储起来
var val = ipt.value;
sessionStorage.setItem("uname",val);
sessionStorage.setItem("psw",val);
});
get.addEventListener('click',function () {
// 当我们点击了之后,就可以把表单里的值获取过来
console.log(sessionStorage.getItem('uname'));
});
remove.addEventListener('click',function () {
// 当我们点击了之后,就可以把表单里的值删除了
console.log(sessionStorage.removeItem('uname'));
});
del.addEventListener('click',function () {
// 当我们点击了之后,就可以把表单里的值全部删除
console.log(sessionStorage.clear());
});
window.localStorage
- 生命周期永久生效,除非手动删除否则关闭页面也会存在
- 可以多窗口(页面)共享(同一浏览器可以共享)
- 以键值对的形式存储使用
- 存储数据
localStorage.setItem(key,item);
- 获取数据
localStorage.getItem(key);
- 删除数据
localStorage.removeItem(key);
- 删除所有数据
localStorage.clear();
案例
HTML部分
<input type="text">
<button class="set">存储数据</button>
<button class="get">获取数据</button>
<button class="remove">删除数据</button>
<button class="del">清空所有数据</button>
JS部分
var ipt = document.querySelector('input');
var set = document.querySelector('.set');
var get = document.querySelector('.get');
var remove = document.querySelector('.remove');
var del = document.querySelector('.del');
set.addEventListener('click',function () {
//当我们点击了之后,就可以把变单里面的值存储起来
var val = ipt.value;
localStorage.setItem("uname",val);
localStorage.setItem("psw",val);
});
get.addEventListener('click',function () {
// 当我们点击了之后,就可以把表单里的值获取过来
console.log(localStorage.getItem('uname'));
});
remove.addEventListener('click',function () {
// 当我们点击了之后,就可以把表单里的值删除了
console.log(localStorage.removeItem('uname'));
});
del.addEventListener('click',function () {
// 当我们点击了之后,就可以把表单里的值全部删除
console.log(localStorage.clear());
});