local 与 session

html5中的Web Storage包括了两种存储方式。localStorage和sessionStorage一样都是用来存储客户端临时信息的对象。sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问。并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅是会话级别的存储。只允许同一窗口访问。而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。同源可以读取并修改localStorage数据。
 

一.sessionStorage

1、生命周期为关闭浏览器窗口

2、在同一个窗口(页面)下数据可以共享

3、以键值对的形式存储使用

存储数据:
sessionStorage.setItem(key, value)

获取数据:
sessionStorage.getItem(key)

删除数据:
sessionStorage.removeItem(key)

清空数据:(所有都清除掉)
sessionStorage.clear()

二.localStorage

1、声明周期永久生效,除非手动删除 否则关闭页面也会存在

2、可以多窗口同一浏览器可以共享

3、以键值对的形式存储使用

存储数据:
localStorage.setItem(key, value)

获取数据:
localStorage.getItem(key)

删除数据:
localStorage.removeItem(key)

清空数据:(所有都清除掉)
localStorage.clear()

三.练习

<body>
    <input type="text" placeholder="请输入"/>
	<hr />
    <button class="set">存储本地数据</button>
    <button class="get">获取本地数据</button>
    <button class="remove">删除本地数据</button>
    <button class="del">清空本地所有数据</button>
    <script type="text/javascript">
    	var input = document.querySelector('input')
		var setter = document.querySelector('.set')
		var getter = document.querySelector('.get')
		var remove = document.querySelector('.remove')
		var del = document.querySelector('.del')
		
		
		setter.addEventListener('click',function(){
			var val = input.value
			window.localStorage.setItem('username',val)
		},false)//存储
		getter.addEventListener('click',function(){
			console.log(window.localStorage.getItem('username'));	
		},false)//获取
		remove.addEventListener('click',function(){
			window.localStorage.removeItem('username');	
		},false)//删除
		del.addEventListener('click',function(){
			window.localStorage.clear();	
		},false)//清空
		
		
    </script>

四.案例:个人用户

<body>
		<input type="text" name="" id="" value="" />
		<input type="checkbox" name="" id="" value="" />
		<label>记住用户名</label>
	</body>
	<script type="text/javascript">
		var user = document.querySelector('input')
		var rem = user.nextElementSibling;
		console.log(localStorage.getItem('user'));
		if (localStorage.getItem('user')) {
			user.value = localStorage.getItem('user')
			rem.checked = true
		}
		rem.addEventListener('change', mode)

		function mode() {
			if (this.checked) {
				localStorage.setItem('user', user.value);
			} else {
				localStorage.removeItem('user');
			}
		}
	</script>

上一篇:localStorage概要


下一篇:cookie、localStorage和sessionStorage的大致区别