请描述一下 cookies,sessionStorage 和 localStorage 的区别?

浅层js的个人总结思考

带着问题思考

请描述一下 cookies,sessionStorage 和 localStorage 的区别?

cookie、sessionStorage和localStorage都是调用web实现存储的方式,但不同的是localStorage和sessionStorage拥有5M左右的存储空间而且是完全的本地存储,而cookie则是只有4K的存储空间,但是是可以作为http协议的一部分通过后端传输,将服务器端数据存储在客户端;cookie的数据可以设置自动删除时间,sessionStorage存储的数据在会话结束后自动删除,而localStorage存储的数据如不删除将会永久存储。
我们对localStorage存储可以通过三种方式写入、读取。

<script>
	window.localStorage.key=value;//第一种写入方式
	window.localStorage[key]=value;//第二种写入方式
	window.localStorage.setItme(key,value);//第三种写入方式,推荐

	window.localStorage.key;//第一种读取方式
	window.localStorage[key];//第二种读取方式
	window.localStorage.getItem(key);//第三种读取方式,推荐
	
	window.localStorage.clear();//清空本地所有localStorage数据
	window.localStorage.removeItem(key);//删除特定的键值对
</script>

cookie的读写删除,我们可以使用函数封装实现,由于localStorage的兼容性和其他原因,主要的用户信息存储在客户端,仍然是依靠cookie

function addcookie (key,value,times) {//写入cookie,如果key同名,后写入的会覆盖先写入的
    let d=new Date();
    d.setDate(d.getDate()+times);
    document.cookie=key+'='+encodeURIComponent(value)+';expires='+d;
}
function getcookie(key) {//读取存入对应该key的cookie的值
    let arr = decodeURIComponent(document.cookie).split('; ');
    for (let value of arr) {
        let newarr = value.split('=');
        if(key===newarr[0]){
            return newarr[1];
        }
    }
}
function delcookie (key) {删除key对应的cookie存储数据
    let d=new Date();
    d.setDate(d.getDate()-1);
    document.cookie=key+'=100;expires='+d;
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值