2017-04-24 59 views
1

我有一个计数,每增加一个笔记就增加一个计数。当文档准备就绪时,通过创建与计数一样多的div来显示注释。整数被计算为一个数字,但输出不是一个数字(NaN)?

但是我必须分析这个数是这样的:

var noteCount = parseInt(localStorage.getItem("noteCount")); 

要不然这行:

for (var i = 1; i < noteCount + 1; i++) { 

结果在创造21周的div(如果notecount是2),而不是需要3。

这是一个问题,因为我试图使用计数的其他东西,但是当我在控制台输出它显示为'NaN'。

有没有办法解决这个问题?

编辑:如果我不解析数,它存储正确为0,1,2等

+4

'localStorage'只存储字符串。如果你想从中得到一个数字,可以使用'+ localStorage.noteCount'来代替 - 另外请注意,'parseInt'(base,通常是'10')的第二个参数不是可选的。 –

+0

你必须告诉我们它是如何变成'NaN',正如在上面的评论中指出的那样,你总是会从localStorage获取字符串,一切都如预期的那样。 – adeneo

+0

localStorage.setItem(“noteCount”,noteCount); – Xander

回答

1

你行改成这样:

for (var i = 1; i < +localStorage.noteCount + 1; i++) { 

这将让刚刚数出来。你不需要在第一行parseInt(除非你用它来做其他事情)

0

尝试这样,

乘以1将保证它会作为一个被处理整数。

for (var i = 1; i < (noteCount * 1) + 1; i++) { 

} 
相关问题