關(guān)于localStorage的存儲,讀取,刪除
localStorage的存儲,讀取,刪除
localStorage存儲
我們通過以下方式將數(shù)據(jù)儲存到localStorage中
window.localStorage.setItem('key',value)
但有時value為一個對象Object,以上面的方式寫入,會出現(xiàn)讀取的返回值為{object Object}的情況,但這并不是我們想要的,此時我們需要使用新的方式
傳入Object
window.localStorage.setItem('param',JSON.stringify(Object))
通過JSON.stringify(Object)方法將對象轉(zhuǎn)化為一個json格式的字符串進(jìn)行存儲
localStorage讀取
我們通過以下方式來讀取localStorage中的值
window.localStorage.getItem('key')
相對的在讀取json格式字符串只有我們也無法直接使用,需要將它轉(zhuǎn)換為josn對象之后才是我們想要的結(jié)果,所以我們需要調(diào)用 JSON.parse()方法來進(jìn)行轉(zhuǎn)化,之后在繼續(xù)使用
JSON.parse(window.localStorage.getItem('key'))
localStorage刪除
我們通過以下方法來刪除對應(yīng)key以及key中的內(nèi)容
window.localStorage.removeItem('key')
localStorage清空所有的key
清空localStorage中所有的key;
注意:請謹(jǐn)慎使用,它會清空所有的本地存儲數(shù)據(jù)
window.localStorage.clear()
localStorage使用詳解
localStorage簡介
localStorage 和 sessionStorage 一樣,都是 HTML5 中最新引入的 Web 存儲 API。
Web 存儲 API,英文為 Web Storage API,通過它可以方便地在用戶瀏覽器中存儲鍵值對。
Web 存儲 API 包括兩個對象:
localStorage
sessionStorage
在 HTML5 之前,應(yīng)用數(shù)據(jù)需要存放在 Cookie 中,每次請求時都需要攜帶它。相較而言,Web 存儲 API 擁有以下優(yōu)點:
- 不向服務(wù)器傳輸信息,更加安全。
- 比起 [[202009011658 Cookie 數(shù)量和大小的限制|Cookie 4kb 的容量限制]],可以在本地存儲大量數(shù)據(jù),通常為 5mb。
除此之外,localStorage 還有以下特點:
- 永久存儲數(shù)據(jù),沒有過期時間,除非使用 JavaScript、清除瀏覽器緩存或者本地數(shù)據(jù)才能夠刪除。
- 存儲容量上限比 Cookie 和 SessionStorage 都要大。
- 遵循同源策略,來自同一個源的所有頁面共享同樣的數(shù)據(jù)。同源指的是域名和協(xié)議相同。
- 其中存儲的鍵值對都是字符串,如果不是字符串將自動轉(zhuǎn)換為字符串。
調(diào)試localStorage
- Ctrl - Shift - I 或者 F12
- 點擊 Application
- 左側(cè)點擊 Storage 下面的 LocalStorage
localStorage的CRUD
為 localStorage 添加或修改數(shù)據(jù)有三種方式:
localStorage.age = 100 localStorage['age'] = 100 localStorage.setItem('age', 100) ?// 推薦使用
在 localStorage 中查看數(shù)據(jù)也有三種方式:
localStorage.age localStorage['age'] localStorage.getItem('age') ?// 推薦使用
在 localStorage 中刪除數(shù)據(jù)有三種方式:
delete localStorage.age delete localStorage['age'] localStorage.removeItem('age') ?// 推薦使用
清空整個 localStorage:
// 清空整個 localStorage localStorage.clear()
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于zepto.js實現(xiàn)仿手機QQ空間的大圖查看組件ImageView.js詳解
這篇文章主要介紹了基于zepto.js實現(xiàn)仿手機QQ空間的大圖查看組件ImageView.js的源碼和使用方法,并附上一個使用ImageView.js的實例,這里分享給大家,有需要的小伙伴參考下。2015-03-03JavaScript?的setTimeout與事件循環(huán)機制event-loop
這篇文章主要介紹了JavaScript?的setTimeout與事件循環(huán)機制event-loop,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-07-07讓 JavaScript 輕松支持函數(shù)重載 (Part 2 - 實現(xiàn))
在上一篇文章里,我們設(shè)計了一套能在JavaScript中描述函數(shù)重載的方法,這套方法依賴于一個叫做Overload的靜態(tài)類,現(xiàn)在我們就來看看如何實現(xiàn)這個靜態(tài)類。2009-08-08原生javascript實現(xiàn)addClass,removeClass,hasClass函數(shù)
這篇文章主要介紹了原生javascript實現(xiàn)addClass,removeClass,hasClass函數(shù)的相關(guān)代碼,有需要的小伙伴可以參考下2016-02-02使用JS批量選中功能實現(xiàn)更改數(shù)據(jù)庫中的status狀態(tài)值(批量展示)
我們在開發(fā)項目的時候經(jīng)常會在后臺管理時用到批量展示功能來動態(tài)的修改數(shù)據(jù)庫的值。下面以修改數(shù)據(jù)庫的status狀態(tài)值來實現(xiàn)批量展示功能2016-11-11老生常談document.ready和window.onload
這篇文章主要介紹了document.ready和window.onload的相關(guān)知識,包括document.ready和window.onload的區(qū)別,要使用document.ready()或者document.onload()的原因分析,本文結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2024-01-01