回到课程

两个函数 —— 一个对象

重要程度: 2

是否可以创建像 new A() == new B() 这样的函数 AB

function A() { ... }
function B() { ... }

let a = new A;
let b = new B;

alert( a == b ); // true

如果可以,请提供一个它们的代码示例。

是的,这是可以的。

如果一个函数返回一个对象,那么 new 返回那个对象而不是 this

所以它们可以,例如,返回相同的外部定义的对象 obj

let obj = {};

function A() { return obj; }
function B() { return obj; }

alert( new A() == new B() ); // true