为什么我不从构造函数中返回任何内容?

时间:2020-08-07 08:22:55

标签: javascript object methods return object-construction

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返回给我。而如果我通常在调用一个函数,我将需要它向我返回一些东西,以使其成为变量的赋值。还有为什么我们要从方法中返回?但是我们不从构造函数内部返回

谢谢

1 个答案:

答案 0 :(得分:1)

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

新关键字执行以下操作:

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