localStorage与sessionStorage的区别
在之前的面試當中經常會被問到localStorage與sessionStorage的區別。通常我的回答都比較簡單和我對它的理解一樣:localStorage是永久存儲,除非手動清除,否則會一直保存在瀏覽器中。而sessionStorage則是在頁面關閉的時候清空。
上面的回答確實是比較簡單的回答,但是大致理解上倒是沒什么問題,下面來詳細了解下兩者之間的區別:
使用上:
? ? ? ? 在localStorage和sessionStorage使用上,基本一樣,通常我們最簡單的用法就是將這兩個對象當作普通對象一樣使用,存儲方式為鍵值對,將我們需要存儲的數據通過對象屬性擴展的方式,在這兩個對象上面添加屬性。例如:
//存儲一個名為pageData的數據值為“gyuvcuysvudvbchsh” localStorage.pageData = "gyuvcuysvudvbchsh";//獲取保存在本地的名為pageData的數據 console.log(localStorage.pageData);//sessionStorage的存儲與獲取方式和localStorage一致注:目前localStorage與sessionStorage只能存儲字符串,當我們想要向里面存入對象的時候,會自動被裝換成字符串。當然,假如我們想要存儲對象格式數據,我們可以先將我們想要存儲的數據轉換為字符串形式,當我們需要從本地獲取使用的時候,再將字符串還原成對象格式。
?
區別:
1,localStorage存儲的數據是永久性的,除非手動清除,如:removeItem()和clear()方法,再就是在瀏覽器控制臺手動刪除。
sessionStorage存儲的時間為瀏覽器標簽頁打開到關閉間的時間,當標簽頁或者窗口關閉的時候(這里指的是當前便簽被關閉,如果通過location跳轉到了另外一個頁面,這個時候,sessionStorage數據并不會對清除)會清空sessionStorage數據。
?
2,localStorage存儲的數據在同源的文檔間,只要頁面之間是同源的就可以共享localStorage存儲的數據,而且可以修改覆蓋localStorage數據。
sessionStorage存儲的數據也是限制在同源中的,但是同時也限制在當前的標簽頁中,同一個頁面分別在不同的兩個標簽中打開的時候,它們都有各自的sessionStorage數據,無法共享,也不能修改其他標簽頁里面的sessionStorage數據。
轉載于:https://www.cnblogs.com/huangzhenghaoBKY/p/10077108.html
總結
以上是生活随笔為你收集整理的localStorage与sessionStorage的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js,需要更多源字符
- 下一篇: spring中的注解配置