我是javascript,html5和jquery的初学者,我正在尝试在我正在设计的应用中首次使用区域设置存储。但是,一旦我将“getIncomeArray”函数添加到我的代码中,我刷新后本地存储将被删除... fiddle
function getIncomeArray(){
//get or create storage arrays
var incomeArray = localStorage.getItem["incomeArray"];
console.log(incomeArray);
if (!incomeArray) {
incomeArray = [];
localStorage.setItem("incomeArray", JSON.stringify(incomeArray));
//code
console.log("there is no array so I made one");
}
else{
incomeArray = JSON.parse(incomeArray);
console.log("there is an array and I parsed it");
}
return incomeArray;
}
答案 0 :(得分:1)
除非您在原始问题中输入拼写错误,否则您对getItem的调用应该是普通括号,而不是方括号,例如:var incomeArray = localStorage.getItem("incomeArray")
很可能因为这个原因,你的变量是未定义的,它将进入setItem子句
答案 1 :(得分:0)
var incomeArray = localStorage.getItem["incomeArray"];
getItem
是一个函数,其键名为参数,因此请使用圆形parantheses:
var incomeArray = localStorage.getItem("incomeArray");