Javascript构造函数返回值

use*_*721 5 javascript javascript-events

考虑以下代码:

function Foo() {
  return "something";
}

var foo = new Foo(); 
Run Code Online (Sandbox Code Playgroud)

根据 JavaScript 专家的说法,他们说从构造函数返回“nothing”或“this”。这是什么原因?

我知道当使用“new”时,“this”将被设置为构造函数的原型对象,但无法单独理解这一点。

Que*_*tin 4

该特定代码将抛出 ReferenceError 因为something未声明。

在构造函数中,您应该要么return this没有 return 语句,要么根本没有 return 语句,否则您将构造该类的一个新实例( 的值this和默认返回值),然后将其丢弃。

我知道当使用“new”时,“this”将被设置为构造函数的原型对象

不正确。它将被设置为构造函数的实例。