Ich arbeite mit einigen Objekten, die eine Reihe von Daten enthält, die vom Browser angezeigt und bearbeitet werden sollen, und ich möchte sie im lokalen Speicher speichern. Um Objekte zu speichern habe ich JSON.stringify() so alles geworden Text, und es funktioniert gutSpeichern einer Funktion im lokalen Speicher
{
"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"
}
}
Jetzt
Ich versuche, es in einen String, indem auch eine Funktion zum Speichern Umwandlung und dann saveingJSON.stringify(myFunction.toString());
aber die Ausgabe ist die
"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}"
ist es der richtige Weg, um eine Funktion im lokalen Speicher zu speichern, oder gibt es einen besseren Weg, dies zu tun? Wenn dies der richtige Weg ist, gibt es eine Möglichkeit, Tabulations-/Einrückungszeichen einfach zu entfernen, oder sollte ich die Zeichenfolge manipulieren, zum Beispiel mit einer Regexp-Funktion?
Sie möchten Objekt mit String oder Funktionssignatur speichern? Welche Ausgabe erwarten Sie? – Sarfraz
Warum möchten Sie eine Funktion speichern? Meiner Meinung nach gibt es keinen "richtigen" Weg, dies zu tun, weil es keinen Sinn macht, es überhaupt zu tun. Angenommen, Sie möchten die '.toString()' Version der Funktion speichern, warum möchten Sie Tabs entfernen (was Sie mit '.replace()' tun könnten)? – nnnnnn