сохранить функцию в локальном хранилище

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

Это правильный способ сохранить функцию в локальном хранилище или есть лучший способ сделать это? Если это правильный способ, есть ли способ просто удалить любой символ табуляции/отступа или мне следует манипулировать строкой, например, с помощью некоторой функции регулярного выражения?

6
задан Naigel 16 June 2012 в 12:55
поделиться