【发布时间】:2021-11-24 09:15:46
【问题描述】:
const friends = ["john","peter","bob"];
localStorage.setItem("friends", JSON.stringify(friends));
const values = JSON.parse(localStorage.getItem("friends"));
console.log(values[2]);
// console.log(values[1]);
// console.log(values[2]);
let fruits;
console.log(fruits);
if (localStorage.getItem('fruits')) {
fruits = JSON.parse(localStorage.getItem('fruits'));
}
else {
fruits = [];
}
console.log(fruits);
fruits.push("apple");
fruits.push("orange");
localStorage.setItem("fruits", JSON.stringify(fruits));
为什么第一个数组会在 chrome 中正常运行,我可以从 dev.tools 清楚地检查控制台和应用程序,但是当我尝试创建一个空数组并推送不同的值 fx“apple”和“orange”时,我不能.我的控制台说错误出现在“if”语句中,但我不明白为什么。有什么想法吗?
【问题讨论】:
-
"console 说错误在 "if" 语句中":错误信息到底是什么?
localStorage.getItem('fruits')返回的值是多少?可以打印出来分享一下吗? -
这里不知道怎么上传图片所以放到imgur中。 imgur.com/8XixftAimgur.com/4UszRIB
-
@c0d3r4ng0 您是否尝试在问题行之前打印
localStorage.getItem('fruits')的值,看起来json 的第二个字符是u,它应该是空格字符或引号. -
VM4060:1 Uncaught SyntaxError: Uncaught token u in JSON at JSON.parse (
) at app.js:300 的位置 1 -
我会加油的!
标签: javascript json local-storage stringify