当我将变量设置为localStorage时,就像这样..
localStorage.setItem('gold', gold);
然后我就这样回想起来......
gold = localStorage.getItem('gold');
它弄乱了我以前工作的一些功能,例如
setInterval(function(){
ore += orepm;
}, 60000);
不是将它从100(每分钟+12)设为112,而是将其设为10012.它基本上将数字添加到起始编号的末尾,就像字符串一样。我相信它与localhost更改格式有关,但我不确定并且不知道如何修复它。
感谢您的帮助!
答案 0 :(得分:2)
parseInt()
是你的朋友。虽然从您的问题中不清楚gold
与ore
(或确实orepm
)的关系,但您应该使用parseInt()
(或parseFloat()
如果需要)检索值时:
gold = parseInt( localStorage.getItem('gold') );
值得注意parseInt()
的一些内容 - 例如:
parseInt('1kjjdfud') == 1;
因此,如果您正确处理NaN
,您可能希望使用Javascript的投放机制(即Number('1')
):
gold = Number( localStorage.getItem('gold') );
答案 1 :(得分:0)
尝试......
gold = parseInt(localStorage.getItem('gold'), 10);
...将返回的String转换为Number。
修改强>
添加基数;很高兴在任何时候都包括它。