JavaScript中返回的函数构造函数



我遇到了一个问题#83 inhttps://github.com/lydiahallie/javascript-questions

function Car() {
this.make = 'Lamborghini';
return { make: 'Maserati' };
}
const myCar = new Car();
console.log(myCar.make);

根据我的理解,代码应该记录'Lamborghini',conso;e.log(myCar().make)应该记录'Maserati'但是我完全错了,myCar不是一个函数。为什么?

如果您打算将函数用作构造函数,则不需要从中返回任何内容。当你用new关键字调用函数时,Javascript将在底层创建一个新对象,将其绑定到this并默认返回

最新更新