2015-04-27 31 views
0

我是javascript,html5和jquery的初學者,並且試圖在我設計的應用程序中首次使用區域設置存儲。但是,一旦我添加了「getIncomeArray」功能,我的代碼,本地存儲將被刪除我刷新後... fiddleHTML 5本地存儲 - 刷新後刪除

function getIncomeArray(){ 

    //get or create storage arrays 
    var incomeArray = localStorage.getItem["incomeArray"]; 
    console.log(incomeArray); 
    if (!incomeArray) { 

    incomeArray = []; 
    localStorage.setItem("incomeArray", JSON.stringify(incomeArray)); 
    //code 
    console.log("there is no array so I made one"); 
    } 
    else{ 
    incomeArray = JSON.parse(incomeArray); 
    console.log("there is an array and I parsed it"); 
    } 

return incomeArray; 
} 
+0

我加入數組,但不是實際值到本地存儲。現在很好 –

+0

哦,現在可以使用了嗎?使用JSFiddle上的'localStorage'有點困難,因爲它有時使用域'jsfiddle.net',有時候'fiddle.jshell.net' ... – Xufox

回答

0
var incomeArray = localStorage.getItem["incomeArray"]; 

getItem與主要名稱作爲其自變量的函數所以使用圓括號:

var incomeArray = localStorage.getItem("incomeArray"); 
+0

謝謝!我很驚訝,我錯過了。它的數據不會被擦除,這是真棒。但是,當我嘗試從本地存儲嘗試打印我的項目時,它們會以「未定義」的形式返回 –

0

除非你把錯字到你原來的問題,你的電話的getItem應該是正常的支架,而不是方括號,例如:var incomeArray = localStorage.getItem("incomeArray")

它極有可能是因爲有更多的,您的變量是不確定的,其將進入setItem條款

+0

是的,我可以得到爲什麼這會是一個錯字... getItem方法是一個返回屬性的函數,[]是一個屬性訪問器...類似,所以OP可能會混淆兩者。 – Xufox

+0

看來是這個問題,但我想我會問,只是爲了確保它是這樣的:-) –

+0

這絕對是問題所在。謝謝你的幫助!我在從本地存儲中檢索數據時遇到問題。這是未定義的... –