存储:setItem() 方法
setItem()
方法是 Storage
接口的一个方法,当传递键名和值时,它会将该键添加到给定的 Storage
对象中,或者如果该键已存在则更新该键的值。
语法
js
setItem(keyName, keyValue)
参数
返回值
无 (undefined
).
异常
QuotaExceededError
DOMException
-
如果存储用完磁盘配额或用户拒绝授予更多空间,则抛出此异常。
示例
以下函数在本地存储中创建三个数据项。
js
function populateStorage() {
localStorage.setItem("bgcolor", "red");
localStorage.setItem("font", "Helvetica");
localStorage.setItem("image", "myCat.png");
}
注意:要查看其在实际示例中的用法,请参阅我们的 Web 存储演示。
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 |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。