zapisz funkcję w lokalnym magazynie
Pracuję z niektórymi obiektami, które zawierają wiele danych do wyświetlenia i manipulowania z przeglądarki, i chcę je zapisać w pamięci lokalnej. Aby zapisać obiekty użyłem JSON.stringify (), aby wszystko stało się tekstem i działa dobrze
{
"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"
}
}
Teraz próbuję zapisać także funkcję, konwertując ją na łańcuch, a następnie zapisując
JSON.stringify(myFunction.toString());
ale wyjście jest takie
"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}"
Czy jest to właściwy sposób zapisania funkcji w lokalnej pamięci masowej, czy może jest to lepszy sposób? Jeśli jest to właściwy sposób, czy istnieje sposób na usunięcie dowolnego znaku tabulacji / wcięcia lub czy powinienem manipulować łańcuchem, na przykład używając funkcji regexp?