-2
function Person (name, eyeColor, age) {

this.name = name;
this.eyeColor = eyeColor;
this.age = age;
this.updateAge = function ()  {

return ++this.age;


};

}  


let person1 = new Person("kevin", "blue", 34); // normalli would have to return something but as im 
creating a new object 
let person2 = new Person("tom", "brown", 64);


console.log(person1);

通常,如果我想让 person1 等于函数内部的某些东西,我将不得不返回一些东西给它。为什么我在创建新的对象构造函数时不必这样做。如果我 console.log 人 1,它会将人 1 返回给我。而如果我通常调用一个函数,我需要它必须返回一些东西给我,作为变量的赋值值。另外,为什么我们要从该方法返回?但是我们不会从构造函数内部返回

谢谢大家

4

1 回答 1

0

请参考以下文档 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new

new 关键字执行以下操作:

  • 创建一个空白的纯 JavaScript 对象;
  • 将此对象链接(设置其构造函数)到另一个对象;
  • 将步骤 1 中新创建的对象作为 this 上下文传递;
  • 如果函数不返回对象,则返回 this。
于 2020-08-07T08:27:22.397 回答