JavaScript本地存儲的幾種方式小結(jié)
在JavaScript中,有幾種常用的方式可以在本地存儲數(shù)據(jù)。以下是主要的幾種本地存儲方式:
LocalStorage:
- 描述: LocalStorage 是 Web Storage API 的一部分,用于在用戶的瀏覽器中存儲鍵值對。數(shù)據(jù)不會過期,除非用戶明確刪除。
- 用法:
// 存儲數(shù)據(jù)
localStorage.setItem('key', 'value');
// 獲取數(shù)據(jù)
const value = localStorage.getItem('key');
// 移除數(shù)據(jù)
localStorage.removeItem('key');
// 清除所有數(shù)據(jù)
localStorage.clear();
SessionStorage:
- 描述: SessionStorage 也是 Web Storage API 的一部分,與 LocalStorage 類似,但它存儲的數(shù)據(jù)在頁面會話結(jié)束時(如用戶關(guān)閉瀏覽器標簽頁)會被清除。
- 用法:
// 存儲數(shù)據(jù)
sessionStorage.setItem('key', 'value');
// 獲取數(shù)據(jù)
const value = sessionStorage.getItem('key');
// 移除數(shù)據(jù)
sessionStorage.removeItem('key');
// 清除所有數(shù)據(jù)
sessionStorage.clear();
Cookies:
- 描述: Cookies 是小塊的數(shù)據(jù),由瀏覽器存儲在用戶的計算機上。它們通常用于存儲會話信息或用戶偏好設(shè)置,并會在每次請求時發(fā)送到服務(wù)器。
- 用法:
// 設(shè)置 Cookie
document.cookie = "username=John Doe; expires=Fri, 31 Dec 2023 23:59:59 GMT; path=/";
// 讀取 Cookie
function getCookie(name) {
let cookieArr = document.cookie.split(";");
for(let i = 0; i < cookieArr.length; i++) {
let cookiePair = cookieArr[i].split("=");
if(name == cookiePair[0].trim()) {
return decodeURIComponent(cookiePair[1]);
}
}
return null;
}
const username = getCookie("username");
// 刪除 Cookie
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
IndexedDB:
- 描述: IndexedDB 是一種低級 API,用于在用戶的瀏覽器中存儲大量結(jié)構(gòu)化數(shù)據(jù)。它類似于 SQL 數(shù)據(jù)庫,但使用的是事務(wù)性數(shù)據(jù)庫模型。
- 用法:
// 打開數(shù)據(jù)庫
let request = indexedDB.open("myDatabase", 1);
request.onupgradeneeded = function(event) {
let db = event.target.result;
let objectStore = db.createObjectStore("customers", { keyPath: "id" });
};
request.onsuccess = function(event) {
let db = event.target.result;
// 添加數(shù)據(jù)
let transaction = db.transaction(["customers"], "readwrite");
let objectStore = transaction.objectStore("customers");
let customer = {id: 1, name: "John Doe", age: 30};
objectStore.add(customer);
// 讀取數(shù)據(jù)
let transaction = db.transaction(["customers"]);
let objectStore = transaction.objectStore("customers");
let request = objectStore.get(1);
request.onerror = function(event) {
console.log("Unable to retrieve data");
};
request.onsuccess = function(event) {
if (request.result) {
console.log(request.result.name);
} else {
console.log("No data found");
}
};
};
Web SQL (已廢棄):
- 描述: Web SQL 是一種早期的本地數(shù)據(jù)庫技術(shù),但已經(jīng)不被推薦使用,并且在現(xiàn)代瀏覽器中逐漸被淘汰。
- 用法: 不推薦使用,建議使用 IndexedDB 作為替代。
這些技術(shù)各有優(yōu)缺點,選擇哪一種取決于具體的應(yīng)用場景和需求。對于簡單的鍵值對存儲,LocalStorage 和 SessionStorage 是很好的選擇;對于需要存儲更復(fù)雜和大量數(shù)據(jù)的情況,IndexedDB 更加合適;而 Cookies 則通常用于存儲需要在服務(wù)器和客戶端之間共享的信息。
以上就是JavaScript本地存儲的幾種方式小結(jié)的詳細內(nèi)容,更多關(guān)于JavaScript本地存儲方式的資料請關(guān)注腳本之家其它相關(guān)文章!
- Javascript本地存儲localStorage看這一篇就夠了
- 詳解JavaScript前端如何有效處理本地存儲和緩存
- JavaScript本地存儲全面解析
- javascript中l(wèi)ocalStorage本地存儲(新增、刪除、修改)使用詳細教程
- JavaScript中本地存儲(LocalStorage)和會話存儲(SessionStorage)的使用
- 基于js 本地存儲(詳解)
- JS實現(xiàn)本地存儲信息的方法(基于localStorage與userData)
- javascript中本地存儲localStorage,sessionStorage,cookie,indexDB的用法與使用場景匯總
相關(guān)文章
javascript時間戳和日期字符串相互轉(zhuǎn)換代碼(超簡單)
下面小編就為大家?guī)硪黄猨avascript時間戳和日期字符串相互轉(zhuǎn)換代碼(超簡單)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
深入理解JavaScript系列(12) 變量對象(Variable Object)
JavaScript編程的時候總避免不了聲明函數(shù)和變量,以成功構(gòu)建我們的系統(tǒng),但是解釋器是如何并且在什么地方去查找這些函數(shù)和變量呢2012-01-01
typescript基本數(shù)據(jù)類型HTMLElement與Element區(qū)別
這篇文章主要為大家介紹了typescript基本數(shù)據(jù)類型HTMLElement與Element區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
利用canvas中toDataURL()將圖片轉(zhuǎn)為dataURL(base64)的方法詳解
這篇文章主要給大家介紹了關(guān)于利用canvas中toDataURL()將圖片轉(zhuǎn)為dataURL(base64)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2017-11-11
JavaScript的Set數(shù)據(jù)結(jié)構(gòu)詳解
這篇文章主要為大家介紹了JavaScript的Set數(shù)據(jù)結(jié)構(gòu),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01

