2017-04-24 75 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++) { 

} 
相關問題