什么是返回新函数(); 在JavaScript?

What is return new function(); in JavaScript?

本问题已经有最佳答案,请猛点这里访问。

在js代码我看到过这个:

1
2
3
4
5
6
7
function doStuff( selector ) {
    /* Stuff to do with selector */
}

var q = function( selector ) {
    return new doStuff( selector );
}

究竟发生了什么? 什么是return new真的在做什么? 它似乎将其论点传递给了另一个函数,但是有人请你好好指导我完成这个过程吗?

所有和任何帮助表示赞赏,在此先感谢。


当我们使用new关键字调用函数时。 以下将发生:

  • 将在内存中创建new对象
  • 该对象的范围将传递给该函数; 所以this关键字将引用该对象。
  • 将返回新创建的对象。

实质上,这就是您在JavaScript中创建实例的方式。 您需要使用new关键字调用函数。 这样做时,该函数称为构造函数。

在您的示例中,q函数返回doStuff方法的实例。 但请注意,命名约定不正确。

构造函数应该是名词而不是动词,它们应该是Pascal-case,而不是camel-case