minjs1cn / weekly-learning

每周学习分享打卡
0 stars 0 forks source link

29 - 【经典面试】浏览器存储 #29

Open wordlex opened 3 years ago

wordlex commented 3 years ago

浏览器存储方式有哪些? 常用的存储方法localStorage、sessionStorage、cookie之间有什么区别?

xieshiyi commented 3 years ago

image image

wordlex commented 3 years ago

注意点

1.本地存储只能存字符串,任何格式的存储都会被主动转为字符串,所以读取的时候,要自己进行类型的转化。 2.本地存储都是异步的,所以读取时可能会读到未更新完的数据。

应用场景

cookie比较常用的一个应用场景就是判断用户是否登录,配合localstorage判断是否同一用户等用户相关逻辑。在我们的业务场景中可能是判断oneId。之前也用到过传递csrf-token的场景。

localStorage,我们比较常用,用来存储任意我们想缓存的数据,比较多用到的可能是参与次数的累计,还有跳转落地页返回后需要判断的各种场景数据。

sessionStorage,常用场景是有很多表单内容的页面,需要拆分多个子页展示时,就可以将用户填写的表单内容缓存到sessionStorage中,比如我们的SSP活动编辑场景等。