Function を使って関数を作る
Function のコンストラクタを使って関数を作る
var a = new Function("c", "return c"); a(1) //=>1
使い方
new Function ( 引数, 引数,,,, 関数本文)
ポイントは、全てを文字列で渡す点にある。
function(c){ return c } // おなじ
同じだが、文字列をeval せずに関数オブジェクトを作れる点が違う。eval と同等ですけどね。
apply/ call も出来る
Function コンストラクタが function を作るfunction であることに注目すると
apply
var a = Function.apply(null, ["c", "return c"]) a(1) //->1
call
var a = Function.call(null, "c", "return c") a(1) //->1
のようなこともできるが、あまり使わない。function がなにか考えるのにちょうどいい。