Нет, localstorage принимает строку как и сохраняет ее. Если вы хотите сохранить любой объект, тогда конвертируйте его в строку и затем сохраните. , выбирая его из локального хранилища, мы получаем строку. вы можете легко скрывать его в объекте. Если вы непосредственно сохраняете объект в localStorage, тогда он будет сохранен таким образом «[object Object]» и, получая его из localStorage, вы получите «[object Object]» as String.
Неправильный код:
var data={teams:5, points:25,team1:5,team2:10, team3:5, team4:0, team5:5};
localStorage.setItem("save", data);
localStorage.getItem("save")
вы получите "[объект Object]"
Right Код:
var data={teams:5, points:25,team1:5,team2:10, team3:5, team4:0, team5:5};
localStorage.setItem("save",JSON.stringify(data));
localStorage.getItem("save")
В то время как извлечение значения из LocalStorage
Неправильный код:
localStorage.getItem("save")
Он будет получать данные в виде строки.
Right Код:
JSON.parse(localStorage.getItem("save"))
Он будет возвращать данные в виде объекта.
Надеюсь, что решение хорошо объяснено.
... nitpicking, но о * "must" *, вы можете передавать значения не DOMString, но их результат 'toString() будет сохранен. – Kaiido
@ Kaiido Я склонен думать о API как о контракте – Phil