Хранилище: метод setItem()
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Метод setItem() интерфейса Storage, при передаче имени и значения ключа, добавит этот ключ в указанный объект Storage, или обновит значение ключа, если он уже существует.
Синтаксис
setItem(keyName, keyValue)
Параметры
Возвращаемое значение
None (undefined).
Исключения
-
QuotaExceededErrorDOMException -
Выбрасывается, если хранилище исчерпало квоту диска или пользователь отказался предоставить больше места.
Примеры
Следующая функция создаёт три элемента данных внутри локального хранилища.
function populateStorage() {
localStorage.setItem("bgcolor", "red");
localStorage.setItem("font", "Helvetica");
localStorage.setItem("image", "myCat.png");
}
Примечание: Чтобы увидеть это в реальном примере, ознакомьтесь с нашей Демонстрацией Web Storage.
Storage поддерживает только хранение и извлечение строк. Если вы хотите сохранить другие типы данных, вам нужно преобразовать их в строки. Для обычных объектов и массивов вы можете использовать JSON.stringify().
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 |
Совместимость браузеров
| Рабочий стол | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
setItem |
4 | 12 | 3.5 | 10.5 | 4 | 18 | 6 | 11 | 3.2 | 1.0 | ≤37 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem