JavaScript使用new关键字创建对象创建实例对象的过程,将构造函数显式原型属性赋值给实例对象的隐式原型protothis指向实例对象在执行构造函数的代码中返回实例对象functionPerson(){this.name="peter";this.age=10;}console.log(newPerson());//Person{name:"peter",age:10}但是当我们直接在构造函数中返回时,返回值是多少?直接用return返回1,返回一个基本数据类型functionPerson(){this.name="peter";这个年龄=10;返回“丽莎”;}console.log(newPerson());//Person{name:"peter",age:10}显然仍然会返回创建的实例对象。2.返回一个引用数据类型functionPerson(){this.name="peter";这个年龄=10;返回["lisa"];}console.log(newPerson());//["lisa"]可见,如果return的值是引用类型,那么就会返回这个值。总结如果构造函数返回一个对象,该对象将作为整个表达式的值返回,传递给构造函数的this将被丢弃。但是,如果构造函数返回一个非对象类型,返回值将被忽略并返回新创建的对象。
