本地存储
(1)本地存储特性
1,数据存储在用户浏览器中;
2,设置、读取方便、刷新页面也不会丢失数据;
3,容量较大,sessionStorage约5M、localStorage约20M;
4,只能存储字符串,可以将对象JSON.stringify()编码后存储;
(2)window.sessionStorage
1,生命周期为关闭浏览器窗口;
2,在同一个窗口(页面)下数据可以共享;
3,已键值对的形式存储使用;
存储数据:sessiongStorage.setItem(key,value);
获取数据:sessionStorage.getItem(key);
删除数据:sessionStorage.removeItem(key);
删除所有数据:sessionStorage.clear();
例子:
<body>
<input type="text">
<button class="set">存储数据</button>
<button class="get">获取数据</button>
<button class="remove">删除数据</button>
<button class="del">清空数据</button>
<script>
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);
});
get.addEventListener('click', function() {
//点击之后可以获取表单的值
console.log(sessionStorage.getItem('uname'));
});
remove.addEventListener('click', function() {
//点击之后可以删除表单的值
sessionStorage.removeItem('uname');
});
del.addEventListener('click', function() {
//点击之后可以将表单的值全部删除(不推荐使用)
sessionStorage.clear();
});
</script>
</body>
(3)window.localStorage
1,生命周期永久生效,除非手动删除否则关闭页面也存在;
2,可以多窗口(页面)共享(同一浏览器可以共享);
3,以键值对的形式存储使用;
存储数据:localStorage.setItem(key,value);
获取数据:localStorage.getItem(key);
删除数据:localStorage.removeItem(key);
删除所有数据:localStorage.clear();
例子:
<body>
<input type="text">
<button class="set">存储数据</button>
<button class="get">获取数据</button>
<button class="remove">删除数据</button>
<button class="del">清空数据</button>
<script>
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);
});
get.addEventListener('click', function() {
//点击之后可以获取表单的值
console.log(localStorage.getItem('uname'));
});
remove.addEventListener('click', function() {
//点击之后可以删除表单的值
localStorage.removeItem('uname');
});
del.addEventListener('click', function() {
//点击之后可以将表单的值全部删除
localStorage.clear();
});
</script>
</body>
例子:记住用户名
<body>
<input type="text" id="username"><input type="checkbox" id="remember">记住用户名
<script>
var username = document.querySelector('#username');
var remember = document.querySelector('#remember');
if (localStorage.getItem('username')) {
username.value = localStorage.getItem('username')
remember.checked = true;
}
remember.addEventListener('change', function() {
if (this.checked) {
localStorage.setItem('username', username.value)
} else {
localStorage.removeItem('username');
}
})
</script>
</body>
本文详细介绍了Web API中的本地存储特性,包括sessionStorage和localStorage。本地存储可以在浏览器中持久化数据,容量大且不会因页面刷新而丢失。sessionStorage的数据在浏览器窗口关闭后失效,适合同窗口数据共享;而localStorage数据永久保存,可在多窗口间共享。文章通过实例展示了如何进行数据的存储、读取和删除操作,特别是对于记住用户名等场景的应用。
295

被折叠的 条评论
为什么被折叠?



