Published on

javascriptで文字列から関数を定義する方法

Authors
  • avatar
    Name
    ssu
    Twitter

文字列で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?