0

每当 if 语句中的条件为真时,我都试图增加我的 localStorage 值,但似乎我无法正确地做到这一点。尽了一切可能。这是我的代码,用于检查并增加值。

for(var j = 0; j < inputArray.length; j++){
    for(var k = 0; k < this.probsSolved.length; k++){
        if(inputArray[k] == this.probsSolved[j] ){

            //increment the localStorage value here

            **this.storage.set(probSolKey,parseInt(this.storage.get(probSolKey)) + 1);**

            if(this.storage.get(probSolKey) >= totalProbToSolve){
                this.storage.set(achkey,1);
                this.triggerAchievements(id,name);
                return;
            }
        }
    }
}

所以我有一个我正在使用的 ImpactJS 引擎的 localStorage 插件。我正在尝试增加我在函数中作为参数字符串传递的 probSolKey。每当满足条件时,我都会尝试将自身增加 1。我不知道如何正确实现这一点。任何人都可以帮助我解决这个问题,我将不胜感激!

做一些调试我发现了这个:

console.log(this.storage.get(probSolKey));

抛出一个奇怪的“NaN”值。

4

1 回答 1

0

当您存储要增加的属性的值时,您以为您存储了一个数字,但实际上并没有。

您存储了一个本应为数字的值,因此将其转换为 1,但由于无法将该值解析为数字,因此转换失败。

这就是 NaN 的意思,不是数字,不能被解析为数字的东西。

于 2014-03-28T18:37:36.383 回答