JavaScript本地存儲全面解析
常用的本地存儲
JavaScript本地存儲就是瀏覽器給我們提供的可以讓我們在瀏覽器上保存一些數(shù)據(jù)
- localStorage
- sessionStorage
localStorage
=> 特點:
-> 長期存儲,除非手動刪除否則會一直保存在瀏覽器中 清除緩存或者卸載瀏覽器也就沒有了
-> 可以跨頁面通訊, 也就是說在一個頁面寫下在另一個頁面可以讀取
=> 保存
-> 語法: window.localStorage.setItem(名字,值)
-> 注意: 只能保存字符串類型的數(shù)據(jù),其它數(shù)據(jù)類型不能被保存
=> 獲取
-> 語法: window.localStorage.getItem(名字)
-> 注意: 保存的是字符串類型,取出來的也是字符串類型
-> 返回值:
- 如果localStorage 中有這條數(shù)據(jù) 拿到的就是這個條數(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
=> 特點:
-> 會話存儲,就是瀏覽器關閉就沒有了
-> 可以跨頁面通訊(有要求)
-> 要求:必須是本頁面跳轉才可以
->
=> 保存
-> 語法: 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')
瀏覽器本地存儲 - cookie
特點:
- 只能存儲字符串, 有固定的格式
=> key=value; key2=value2; key3=value3 - cookie 存儲大小有限制
=> 4KB 左右 - 存儲的時效性
=> 默認是會話級別時效, 可以手動設置過期時間 - 操作必須依賴服務器
=> 本地打開的頁面是不能操作 cookie
=> 也就是存存不上 , 讀讀不出來
=> 要求頁面必須在服務器打開 - 跟隨前后端請求自動攜帶
=> 只要 cookie 空間中有內容的時候
=> 會在該頁面和后端交互的過程中自動攜帶 - 前后端操作
=> 前端可以使用 JS 來操作
=> 任何一個后端語言都可以操作 - 存儲依賴域名
=> 哪一個域名存儲, 哪一個域名使用
=> 不能跨域名通訊
cookie 的操作
設置一條 cookie
語法: document.cookie = 'key=value'
// 設置一條 cookie // 設置了一條叫做 a 的 cookie 存儲的值是 100 document.cookie = 'a=100' // 設置了一條叫做 b 的 cookie 存儲的值是 200 document.cookie = 'b=200' // 設置一條帶有過期時間的 cookie var time = new Date() document.cookie = 'a=100;expires=' + time // 設置一條 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本地存儲全面解析的詳細內容,更多關于JavaScript本地存儲的資料請關注腳本之家其它相關文章!
- JavaScript本地存儲的幾種方式小結
- Javascript本地存儲localStorage看這一篇就夠了
- 詳解JavaScript前端如何有效處理本地存儲和緩存
- javascript中l(wèi)ocalStorage本地存儲(新增、刪除、修改)使用詳細教程
- JavaScript中本地存儲(LocalStorage)和會話存儲(SessionStorage)的使用
- 基于js 本地存儲(詳解)
- JS實現(xiàn)本地存儲信息的方法(基于localStorage與userData)
- javascript中本地存儲localStorage,sessionStorage,cookie,indexDB的用法與使用場景匯總
相關文章
JS實現(xiàn)刷新網(wǎng)頁后之前瀏覽位置保持不變示例詳解
這篇文章主要為大家介紹了JS實現(xiàn)刷新網(wǎng)頁后之前瀏覽位置保持不變示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08