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