HTML如何用JS操作localStorage?存儲與讀取數據步驟

localstorage存儲的數據都是字符串,因為其設計初衷是支持簡單的鍵值對存儲,且為了通用性僅保留字符串類型。若需存儲對象或數組,需通過JSon.stringify()轉換為字符串存儲,并在讀取時用json.parse()還原。localstorage與sessionstorage區別在于數據生命周期:localstorage長期保存,關閉瀏覽器或重啟電腦也不會丟失;sessionstorage僅在當前會話中有效,關閉窗口或標簽頁后清除。選擇方案應根據需求決定,如用戶登錄狀態適合localstorage,臨時表單數據適合sessionstorage。localstorage的數據安全性取決于使用方式,它只能被同源網頁訪問,具備一定安全性,但存在xss攻擊風險,建議對敏感數據加密存儲并做好輸入輸出防護。1. 存儲數據使用localstorage.setitem(key, value),value必須為字符串;2. 讀取數據使用localstorage.getitem(key);3. 刪除特定數據使用localstorage.removeitem(key);4. 清除所有數據使用localstorage.clear()。

HTML如何用JS操作localStorage?存儲與讀取數據步驟

localStorage,簡單來說,就是瀏覽器提供的一個本地存儲空間,讓你的網頁可以記住一些東西,下次再打開的時候,這些東西還在。用JS操作它,就像在你的網頁上放了一個小小的記事本。

HTML如何用JS操作localStorage?存儲與讀取數據步驟

localStorage的操作其實很簡單,主要就是存儲和讀取。

HTML如何用JS操作localStorage?存儲與讀取數據步驟

存儲與讀取數據步驟:

立即學習前端免費學習筆記(深入)”;

HTML如何用JS操作localStorage?存儲與讀取數據步驟

  1. 存儲數據: 使用localStorage.setItem(key, value)方法。key是你要存儲的數據的名稱,value是你要存儲的數據的值。注意,value必須是字符串。如果你要存儲的是對象或數組,需要先用JSON.stringify()方法將其轉換為字符串。

    // 存儲字符串 localStorage.setItem('username', 'JohnDoe');  // 存儲對象 const user = { name: 'Jane Doe', age: 30 }; localStorage.setItem('user', JSON.stringify(user));
  2. 讀取數據: 使用localStorage.getItem(key)方法。key是你要讀取的數據的名稱。這個方法會返回存儲在key下的值。如果key不存在,則返回NULL。如果存儲的是字符串化的對象或數組,需要用JSON.parse()方法將其轉換回對象或數組。

    // 讀取字符串 const username = localStorage.getItem('username'); console.log(username); // 輸出:JohnDoe  // 讀取對象 const userString = localStorage.getItem('user'); const user = JSON.parse(userString); console.log(user); // 輸出:{name: 'Jane Doe', age: 30}
  3. 刪除數據: 使用localStorage.removeItem(key)方法。key是你要刪除的數據的名稱。

    localStorage.removeItem('username');
  4. 清除所有數據: 使用localStorage.clear()方法。這個方法會清除localStorage中所有存儲的數據。慎用!

    localStorage.clear();

為什么localStorage存儲的數據都是字符串?

因為localStorage最初的設計就是用來存儲簡單的鍵值對,而為了保證通用性,所有的數據都以字符串的形式存儲。這就像一個簡單的數據庫,只支持字符串類型。如果你想存儲更復雜的數據結構,比如對象或數組,就需要自己動手,先用JSON.stringify()把它們變成字符串,讀取的時候再用JSON.parse()還原。這其實也挺方便的,畢竟JS操作字符串的效率還是很高的。

localStorage和sessionStorage有什么區別?我該選擇哪個?

localStorage和sessionStorage都是瀏覽器提供的本地存儲方案,它們的主要區別在于數據的生命周期。localStorage的數據會一直保存在瀏覽器中,除非你手動刪除,否則即使關閉瀏覽器、重啟電腦,數據依然存在。而sessionStorage的數據只在當前會話中有效,也就是說,當你關閉瀏覽器窗口或標簽頁時,sessionStorage中的數據就會被清除。

那么,該選擇哪個呢?這取決于你的需求。如果你需要長期保存數據,比如用戶的登錄狀態、偏好設置等,就應該選擇localStorage。如果你只需要在當前會話中保存數據,比如表單數據、臨時狀態等,就應該選擇sessionStorage。

我個人傾向于把localStorage當成一個“長期記憶”,把sessionStorage當成一個“短期記憶”。這樣理解起來就容易多了。

localStorage存儲的數據安全嗎?會不會被別人竊?。?/h3>

localStorage存儲的數據是保存在用戶的瀏覽器中的,因此,理論上來說,只要能訪問用戶的電腦,就能訪問localStorage中的數據。但這并不意味著localStorage是不安全的。

首先,localStorage只能被同源的網頁訪問。也就是說,只有協議、域名和端口都相同的網頁才能訪問同一個localStorage。這在一定程度上保證了數據的安全性。

其次,你可以對存儲在localStorage中的數據進行加密。比如,你可以使用AES等加密算法對數據進行加密,然后再存儲到localStorage中。讀取數據時,再進行解密。

當然,沒有任何存儲方案是絕對安全的。localStorage也存在被XSS攻擊的風險。因此,在使用localStorage時,一定要注意防范XSS攻擊,比如對用戶輸入進行過濾、對輸出進行編碼等。

總的來說,localStorage的安全性取決于你的使用方式。只要你采取了適當的安全措施,就可以放心地使用localStorage來存儲數據。

? 版權聲明
THE END
喜歡就支持一下吧
點贊13 分享