我在做智力竞赛节目。如果用户知道问题,他的钱和他的分数将增加。 起初,我给了他们钱和一个分数。你懂。我把分数和钱留在当地的仓库。但是当游戏重新开放时,金钱和分数将成为我的第一个定义值。我该如何预防?
var cnt=1000;
var score = 0;
cnt和得分是全局变量。 我使用本地存储。
localStorage.setItem("score ", score );
localStorage.setItem("cnt", cnt);
当你给出正确的答案时,
if (deger == crntUserr) {
DevExpress.ui.dialog.alert('Correct');
cnt = cnt + 100;
score = score + 10;
}
我不希望它有一个初始值
答案 0 :(得分:0)
您应该在立即阅读localStorage时启动应用程序。
var cnt = Number(localStorage.getItem('cnt')) || 1000;
var score = Number(localStorage.getItem('score')) || 0;
停止应用程序或onChange
if (deger == crntUserr) {
DevExpress.ui.dialog.alert('Correct');
cnt = cnt + 100;
score = score + 10;
// store the new value
localStore.setItem('cnt', cnt);
localStore.setItem('score', score);
}
答案 1 :(得分:0)
您永远不会更新localStorage值,因此在重新启动应用时,它们仍然具有初始值,因此请将您的功能更改为:
if (deger == crntUserr) {
DevExpress.ui.dialog.alert('Correct');
var cntStorage= JSON.parse(localStorage.getItem('cnt'));
var scoreStorage= JSON.parse(localStorage.getItem('score'));
cnt = cntStorage + 100;
score = scoreStorage + 10;
localStorage.setItem('cnt', JSON.stringify(cnt));
localStorage.setItem('score', JSON.stringify(score));
}