В чем разница между этими функциями, созданными функцией Function?

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

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

f а также f2 оба являются анонимной функцией. f(1,2) а также f2(1,2) оба возвращаются 3, Так есть ли какая-то реальная внутренняя разница между ними? Есть ли Function внутренне вернуть функциональный объект? Отличие от использования Function как конструкторnew Function(...)?

1 ответ

Из спецификации ECMAScript 5.1:

Когда функция вызывается как функция, а не как конструктор, она создает и инициализирует новый объект Function. Таким образом, вызов функции Function(…) эквивалентен выражению создания объекта new Function(…) с теми же аргументами.

Другие вопросы по тегам