为什么在没有new的情况下调用new函数时不会返回相同的引用

时间:2014-07-05 09:30:48

标签: javascript

在Javascript中,您可以通过两种方式创建函数引用:

 var f1 = function myFunction1()
 {
 };

 var f2 = new function myFunction2()
 {
   var x = 1;
 };

f1返回对函数的引用,但f2没有。 f2到底是什么回归?以下是在Mozilla的网站上写的:

  

将Function构造函数作为函数调用(不使用new   operator)与将其作为构造函数调用具有相同的效果。

如果它具有相同的效果",为什么它们会返回两个不同的东西?

Functions and function scope

1 个答案:

答案 0 :(得分:1)

Function构造函数

通过构造函数,它们表示保留关键字Function

Function()

new Function()

确实等效,因为它们都返回对annonyomous函数的引用。

function运算符

正如adeneo和您所说,您的示例使用function 运算符(带小写l),用于函数声明。