сохранить функцию в локальном хранилище
Я работаю с некоторыми объектами, которые содержат ряд данных, которые должны отображаться и обрабатываться из браузера, и я хочу сохранить их в локальном хранилище. Для сохранения объектов я использовал JSON.stringify (), чтобы все стало текстом, и это работает хорошо
{
"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"
}
}
Теперь я пытаюсь также сохранить функцию, преобразовав ее в строку, а затем сохранив ее
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}"
Это правильный способ сохранить функцию в локальном хранилище или есть лучший способ сделать это? Если это правильный путь, есть ли способ просто удалить любой символ табуляции / отступа или я должен манипулировать строкой, например, с помощью некоторой функции регулярного выражения?