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

标签 javascript function return

<分区>

在 js 代码中我看到了这个用法:

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

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

到底发生了什么? return new 到底在做什么?它似乎将它的参数传递给另一个函数,但是有人愿意引导我完成这个过程吗?

在此先感谢所有帮助。

最佳答案

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

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

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

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

构造函数应该是名词而不是动词,并且它们应该是帕斯卡格式,而不是驼峰格式

关于javascript - 什么是 return new function();在 JavaScript 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22178701/

相关文章:

c++ - 什么时候在 C++ 中调用复制构造函数? - 函数返回

javascript - 'return' 没有输出所有结果

javascript - 如何更改jquery get方法中的全局变量?

javascript - 在 prestashop 1.7 注册的 javascript 文件中使用 smarty 模板引擎

javascript - crypto 模块可以替代 bcryptjs 和 jsonwebtoken 吗?你会推荐吗?

javascript - HTML 文本框输入模式 0000000-0000

javascript - 在 jQuery 中如何检查一个元素是否在另一个元素中?

oop - 如何让 MATLAB 识别新添加的静态方法?

javascript - 将函数绑定(bind)到对象中的另一个函数

c - 尝试读取文本文件时遇到错误