什么是 return new function(); 在 JavaScript 中?

the*_*sti 4 javascript return function

在 js 代码中,我见过这样使用:

function doStuff( selector ) {
    /* Stuff to do with selector */
}

var q = function( selector ) {
    return new doStuff( selector );
}
Run Code Online (Sandbox Code Playgroud)

究竟发生了什么?什么是return new真正在做什么?它似乎将它的参数传递给另一个函数,但是有人可以帮助我完成这个过程吗?

感谢所有和任何帮助,提前致谢。

ppo*_*ani 5

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

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

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

在您的示例中,该q函数返回该doStuff方法的一个实例。请记住,命名约定是不正确的。

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