Javascript 为什么在调用函数时不使用new返回相同的引用

Javascript 为什么在调用函数时不使用new返回相同的引用,javascript,Javascript,在Javascript中,可以通过两种方式创建对函数的引用: var f1 = function myFunction1() { }; var f2 = new function myFunction2() { var x = 1; }; f1返回对函数的引用,但f2不返回。f2究竟返回什么?以下内容写在Mozilla的网站上: 将函数构造函数作为函数调用(不使用新的 运算符)与作为构造函数调用它具有相同的效果 那么,如果是“相同的效果”,为什么它们返回两个不同的东西呢 函

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

 var f1 = function myFunction1()
 {
 };

 var f2 = new function myFunction2()
 {
   var x = 1;
 };
f1返回对函数的引用,但f2不返回。f2究竟返回什么?以下内容写在Mozilla的网站上:

将函数构造函数作为函数调用(不使用新的 运算符)与作为构造函数调用它具有相同的效果

那么,如果是“相同的效果”,为什么它们返回两个不同的东西呢


函数
构造函数

构造函数是指保留关键字

实际上是等价的,因为两者都返回对annonymous函数的引用

功能
操作员


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

Javascript区分大小写,而
函数
构造函数有大写的
F
,您的代码示例似乎与您所问的问题无关,但第二个示例将返回
myFunction2
函数的一个新实例,即一个对象,它通常不是您经常(或曾经)看到的那样使用的对象,它缺少单词function的大写字母。有区别。
Function()
new Function()