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