随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据,HTML5规范提出了相关解决方案。
本地存储特性
1、数据存储在用户浏览器中
2、设置、读取方便、甚至页面刷新不丢失数据
3、容量较大,sessionStorage约5M、localStorage约20M
4、只能存储字符串,可以将对象JSON.stringify() 编码后存储
1、生命周期为关闭浏览器窗口
2、在同一个窗口(页面)下数据可以共享
3. 以键值对的形式存储使用

- set.addEventListener('click', function () {
- var val = input.value;
- localStorage.setItem('uname', val);
- })
sessionStorage.getItem('uname')
sessionStorage.removeItem('uname');
sessionStorage.clear();
1、声明周期永久生效,除非手动删除 否则关闭页面也会存在
2、可以多窗口(页面)共享(同一浏览器可以共享)
3. 以键值对的形式存储使用
可以多窗口(页面)共享(同一浏览器可以共享),当你在第十个页面打开谷歌浏览器存储了数据,然后你在第二个页面log输出了localStorage的uname,可以输出
console.log(localStorage.getItem('uname')); // localStorage
如果勾选记住用户名, 下次用户打开浏览器,就在文本框里面自动显示上次登录的用户名
- 把数据存起来,用到本地存储
- 关闭页面,也可以显示用户名,所以用到localStorage
- 打开页面,先判断是否有这个用户名,如果有,就在表单里面显示用户名,并且勾选复选框
- 当复选框发生改变的时候 change事件 ,如果勾选,就存储,否则就移除
- <body>
- <input type="text" id="username">
- <input type="checkbox" id="remember">记住用户名
- <script>
- var uname = document.querySelector('#username');
- var remember = document.querySelector('#remember');
- // 如果localStorage里面有数据就进入if语句
- if (localStorage.getItem('uname')) {
- username.value = localStorage.getItem('uname'); // 把username赋值给value
- remember.checked = true; // 把复选框勾上
-
- }
- // 当复选框改变的时候
- remember.addEventListener('change', function () {
- if (this.checked) { // 如果被勾上
- localStorage.setItem('uname', uname.value); // 就存储uname里面的数据
- } else {
- localStorage.removeItem('uname'); // 取消勾选的话就移除里面的uname数据
- }
- })
- </script>
- </body>