JavaScript本地存儲(chǔ)全面解析
常用的本地存儲(chǔ)
JavaScript本地存儲(chǔ)就是瀏覽器給我們提供的可以讓我們?cè)跒g覽器上保存一些數(shù)據(jù)
- localStorage
- sessionStorage
localStorage
=> 特點(diǎn):
-> 長期存儲(chǔ),除非手動(dòng)刪除否則會(huì)一直保存在瀏覽器中 清除緩存或者卸載瀏覽器也就沒有了
-> 可以跨頁面通訊, 也就是說在一個(gè)頁面寫下在另一個(gè)頁面可以讀取
=> 保存
-> 語法: window.localStorage.setItem(名字,值)
-> 注意: 只能保存字符串類型的數(shù)據(jù),其它數(shù)據(jù)類型不能被保存
=> 獲取
-> 語法: window.localStorage.getItem(名字)
-> 注意: 保存的是字符串類型,取出來的也是字符串類型
-> 返回值:
- 如果localStorage 中有這條數(shù)據(jù) 拿到的就是這個(gè)條數(shù)據(jù)的值
- 如果localStorage 中沒有這條數(shù)據(jù) 拿到的就是 null
=> 刪除
-> 語法: window.localStorage.removeItem(名字)
-> 作用: 就是刪除localStorage中該條數(shù)據(jù)
// 保存 var num = 200 window.localStorage.setItem('a', num) // 獲取 var res = window.localStorage.getItem('b') console.log(res); console.log(typeof res); // 刪除 window.localStorage.removeItem('a')
sessionStorage
=> 特點(diǎn):
-> 會(huì)話存儲(chǔ),就是瀏覽器關(guān)閉就沒有了
-> 可以跨頁面通訊(有要求)
-> 要求:必須是本頁面跳轉(zhuǎn)才可以
->
=> 保存
-> 語法: window.sessionStorage.setItem(名字,值)
-> 注意: 只能保存字符串類型的數(shù)據(jù),其它數(shù)據(jù)類型不能被保存
=> 獲取
-> 語法: window.sessionStorage.getItem(名字)
-> 注意: 保存的是字符串類型,取出來的也是字符串類型
-> 返回值:
- 如果 sessionStorage 中有該條數(shù)據(jù) 獲取到的就是該條數(shù)據(jù)的值
- 如果 sessionStorage 中沒有該條數(shù)據(jù) 拿到的就 null
=> 刪除
-> 語法: window.sessionStorage.removeItem(名字)
-> 作用: 就是刪除 sessionStorage 中的這條數(shù)據(jù)
// 保存 window.sessionStorage.setItem('a', 300) // 獲取 var res = window.sessionStorage.getItem('a') console.log(res); console.log(typeof res); // 刪除 window.sessionStorage.removeItem('a')
瀏覽器本地存儲(chǔ) - cookie
特點(diǎn):
- 只能存儲(chǔ)字符串, 有固定的格式
=> key=value; key2=value2; key3=value3 - cookie 存儲(chǔ)大小有限制
=> 4KB 左右 - 存儲(chǔ)的時(shí)效性
=> 默認(rèn)是會(huì)話級(jí)別時(shí)效, 可以手動(dòng)設(shè)置過期時(shí)間 - 操作必須依賴服務(wù)器
=> 本地打開的頁面是不能操作 cookie
=> 也就是存存不上 , 讀讀不出來
=> 要求頁面必須在服務(wù)器打開 - 跟隨前后端請(qǐng)求自動(dòng)攜帶
=> 只要 cookie 空間中有內(nèi)容的時(shí)候
=> 會(huì)在該頁面和后端交互的過程中自動(dòng)攜帶 - 前后端操作
=> 前端可以使用 JS 來操作
=> 任何一個(gè)后端語言都可以操作 - 存儲(chǔ)依賴域名
=> 哪一個(gè)域名存儲(chǔ), 哪一個(gè)域名使用
=> 不能跨域名通訊
cookie 的操作
設(shè)置一條 cookie
語法: document.cookie = 'key=value'
// 設(shè)置一條 cookie // 設(shè)置了一條叫做 a 的 cookie 存儲(chǔ)的值是 100 document.cookie = 'a=100' // 設(shè)置了一條叫做 b 的 cookie 存儲(chǔ)的值是 200 document.cookie = 'b=200' // 設(shè)置一條帶有過期時(shí)間的 cookie var time = new Date() document.cookie = 'a=100;expires=' + time // 設(shè)置一條 30s 以后過期的 cookie var time = new Date() time.setTime(time.getTime() - 1000 * 60 * 60 * 8 + 1000 * 30) // console.log(time) document.cookie = 'a=100;expires=' + time
獲取 cookie
語法: document.cookie
返回值: 完整的 cookie 字符串
console.log(document.cookie)
以上就是JavaScript本地存儲(chǔ)全面解析的詳細(xì)內(nèi)容,更多關(guān)于JavaScript本地存儲(chǔ)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- JavaScript本地存儲(chǔ)的幾種方式小結(jié)
- Javascript本地存儲(chǔ)localStorage看這一篇就夠了
- 詳解JavaScript前端如何有效處理本地存儲(chǔ)和緩存
- javascript中l(wèi)ocalStorage本地存儲(chǔ)(新增、刪除、修改)使用詳細(xì)教程
- JavaScript中本地存儲(chǔ)(LocalStorage)和會(huì)話存儲(chǔ)(SessionStorage)的使用
- 基于js 本地存儲(chǔ)(詳解)
- JS實(shí)現(xiàn)本地存儲(chǔ)信息的方法(基于localStorage與userData)
- javascript中本地存儲(chǔ)localStorage,sessionStorage,cookie,indexDB的用法與使用場景匯總
相關(guān)文章
微信小程序本地緩存數(shù)據(jù)增刪改查實(shí)例詳解
這篇文章主要介紹了微信小程序本地緩存數(shù)據(jù)增刪改查實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-05-05幫你提高開發(fā)效率的JavaScript20個(gè)技巧
JavaScript確實(shí)是一門很好的開發(fā)語言。對(duì)于給定的問題,可以有不止一種方法來達(dá)到相同的解決方案。在這篇文章中,我們將討論最快速的方法2021-06-06JS實(shí)現(xiàn)刷新網(wǎng)頁后之前瀏覽位置保持不變示例詳解
這篇文章主要為大家介紹了JS實(shí)現(xiàn)刷新網(wǎng)頁后之前瀏覽位置保持不變示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08微信小程序 (三)tabBar底部導(dǎo)航詳細(xì)介紹
這篇文章主要介紹了微信小程序 (三)tabBar底部導(dǎo)航詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-09-09JS前端可視化canvas動(dòng)畫原理及其推導(dǎo)實(shí)現(xiàn)
這篇文章主要為大家介紹了JS前端可視化canvas動(dòng)畫原理及其推導(dǎo)實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08微信小程序 setData使用方法及常用錯(cuò)誤解決辦法
這篇文章主要介紹了微信小程序 setData使用方法及常用錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下2017-05-05