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