- Published on
javascriptで文字列から関数を定義する方法
文字列でfunction(関数)を定義して、javscriptのfunctionとして評価(動作)させる方法を紹介します。
方法はいくつかあり、もっとも簡単なものだとeval
に渡してあげるです。
これは出しもが一番最初に考えるものかと思います。
ただ、javascriptでは以下のように方法もあります。
var func = new Function("return " + "function (a, b) { return a + b; }")(); eval("var func = function (a, b) { return a + b; };"); var func = "function (a, b) { return a + b; }".parseFunction(); var func = new Function(["a", "b"], "return a + b;");
どれも同じようにファンクションを定義することができます。 また実行の早さ順位にしているので、上のコードが一番はやく、下に行くほど実行速度が遅くなります。
参考: Is there a way to create a function from a string with javascript?