JavaScript 関数を JSON に保存する方法 質問する

JavaScript 関数を JSON に保存する方法 質問する

将来使用するためにローカル ストレージに保存したい JS オブジェクトがありますが、それを文字列に解析できません。

コード:

JSON.stringify({
    a: 5,
    b: function (param) {
        return param;
    }
})

結果:

"{"a":5}"

JSON を使用しない場合、将来使用するためにどのように保存すればよいですか?

(そして、文字列関数を中断するために独自の Lexer-Parser を作成するのは選択肢ではないと思います)

ベストアンサー1

このアプローチをお勧めします:

引数と本文を json に保存します。

{"function":{"arguments":"a,b,c","body":"return a*b+c;"}}

次に、json を解析して関数をインスタンス化します。

var f = new Function(function.arguments, function.body);

安全だと思う

おすすめ記事