我試圖在localStorage
中保存數組,但它包含數組對象中的函數(稱爲promise),但是當我使用JSON.stringify
將數組轉換爲字符串時出現問題,顯然所有函數被刪除,當我解析字符串到JSON Object
它沒有方法。如何在localStorage API中保存函數HTML5
/* Example code */
var storage = {
\t getListUsers: function(){
\t \t return {
\t \t \t name: 'name',
\t \t \t age: 'age'
\t \t }
\t },
\t active: true,
\t data: []
}
var convert = JSON.stringify(storage);
localStorage.setItem('data', convert);
最好的問候。
使用可選的第二個參數'JSON.stringify'的'replacer'功能 - 以及可選的第二個參數'JSON.parse'時, 'reviver'函數 - 儘管這將會是一個挑戰 –
*「它包含函數(稱爲promise)」 - 你是在談論在你的'storage.data'數組中的promise嗎? (也就是說,在問題中沒有真正顯示的承諾?) – nnnnnn
我將邏輯從數據中分離出來,而不是在本地存儲中存儲函數。當你在人們的瀏覽器中散佈大量代碼時,很難爲初學者升級代碼版本。爲什麼在對象從localStorage重新水化之後不能添加函數(通過擴展或其他方法)? – flyer