我遇到了一个问题#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
并默认返回