我正在處理一些對象,這些對象包含許多要從瀏覽器顯示和處理的數據,我想將它保存在本地存儲中。 爲了節省我用JSON.stringify(),所以一切都變得文本對象,和它運作良好在localstorage中保存一個函數
{
"bindingRef": [],
"primo": {
"name": "primo",
"modifiable": true,
"binded": false,
"isInteger": false,
"label": "Numero di Primi"
},
"secondo": {
"name": "secondo",
"modifiable": true,
"binded": false,
"isInteger": false,
"label": "Numero di Secondi"
}
}
現在,我想也通過它轉換爲字符串保存的功能,然後saveing它
JSON.stringify(myFunction.toString());
但輸出是這
"savedFunction": "function() {\n\t\t\t\tvar tot = menu.primo.get() * 6 + menu.secondo.get() * 8 + menu.dolce.get() * 4;\n\t\t\t\tif (menu.sconto.get()) {\n\t\t\t\t\treturn tot * 0.90;\n\t\t\t\t} else {\n\t\t\t\t\treturn tot;\n\t\t\t\t}\n\t\t\t}"
它是保存在本地存儲功能的正確方法還是有更好的方法來做到這一點?如果這是正確的方法,是否有辦法簡單地刪除任何製表符/縮進字符或我應該操縱字符串,例如使用一些正則表達式函數?
你想保存對象字符串化或函數簽名?你期待什麼輸出? – Sarfraz
你爲什麼要保存一個功能?在我看來,沒有「正確」的方式來做到這一點,因爲它根本沒有意義。假設你想保存函數的'.toString()'版本,爲什麼你要刪除標籤(你可以使用'.replace()')來完成? – nnnnnn