尝试使用localStorage简单地存储变量,稍后将其作为整数检索,将其添加到另一个整数然后再次存储。但是,它似乎将整数视为字符串并将数字连接起来。我已经尝试过使用JSON.stringify和解析,但它不起作用,我看不出原因。 (变量hours
绝对是一个整数。)
if (localStorage.getItem('hours_worked') === null) {
localStorage.setItem('hours_worked', JSON.stringify(hours));
}
else {
var temp_hours = JSON.parse(localStorage.getItem('hours_worked'));
var temp_hours1 = temp_hours + hours;
alert(temp_hours1);
localStorage.setItem('hours_worked', JSON.stringify(temp_hours1));
}
我确信我错过了一些非常明显的东西,所以如果有人能指出我的话会很棒,谢谢!
答案 0 :(得分:3)
localStorage将所有内容视为字符串。在将其用作整数之前,您必须先解析其值。
此外,您应该使用JSON Stringify将数组转换为字符串。您的变量小时是一个Int,因此您不需要Stringify它。
if (localStorage.getItem('hours_worked') === null) {
localStorage.setItem('hours_worked', hours);
}
else {
var temp_hours = parseInt(localStorage.getItem('hours_worked'),10);
var temp_hours1 = temp_hours + hours;
alert(temp_hours1);
localStorage.setItem('hours_worked', temp_hours1);
}