Storage:setItem() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

當傳遞一個鍵名和值時,Storage 介面的 setItem() 方法會將該鍵新增到給定的 Storage 物件中,如果該鍵已存在,則會更新其值。

語法

js
setItem(keyName, keyValue)

引數

keyName

一個包含您要建立/更新的鍵名的字串。

keyValue

一個包含您要為正在建立/更新的鍵指定的值的字串。

返回值

無(undefined)。

異常

QuotaExceededError

如果儲存空間已滿或使用者拒絕授予您更多空間,則會丟擲此異常。

示例

以下函式在本地儲存中建立了三個資料項。

js
function populateStorage() {
  localStorage.setItem("bgcolor", "red");
  localStorage.setItem("font", "Helvetica");
  localStorage.setItem("image", "myCat.png");
}

注意: 要檢視在實際示例中的應用,請參閱我們的 Web Storage 演示

Storage 只支援儲存和檢索字串。如果您想儲存其他資料型別,您必須將其轉換為字串。對於普通物件和陣列,您可以使用 JSON.stringify()

js
const person = { name: "Alex" };
localStorage.setItem("user", person);
console.log(localStorage.getItem("user")); // "[object Object]"; not useful!
localStorage.setItem("user", JSON.stringify(person));
console.log(JSON.parse(localStorage.getItem("user"))); // { name: "Alex" }

但是,沒有通用的方法來儲存任意資料型別。此外,檢索到的物件是原始物件的 深複製,對其進行的修改不會影響原始物件。

規範

規範
HTML
# dom-storage-setitem-dev

瀏覽器相容性

另見