5

1.var f = new Function("a", "b", "return a+b")

2.var f2 = Function("a", "b", "return a+b")

ff2どちらも無名関数です。f(1,2)両方とも をf2(1,2)返します3。では、両者の間に実際の内部的な違いはありますか? Function内部的に関数オブジェクトを返しますか? Functionas コンストラクターの使用との違いはnew Function(...)?

4

1 に答える 1

7

ECMAScript 5.1仕様から:

Function がコンストラクターとしてではなく関数として呼び出されると、新しい Function オブジェクトが作成されて初期化されます。したがって、関数呼び出し Function(…) は、同じ引数を持つオブジェクト作成式 new Function(…) と同等です。

于 2015-07-06T23:30:56.793 に答える