一般不需要,事實(shí)上可以有。
返回字符串
如下
Person() 這個構(gòu)造函數(shù)執(zhí)行以后返回字符串 doubi。這里是我隨便編的一個。
但是console.log(new Person())返回的是Person這個實(shí)例化的對象。這個和return沒啥關(guān)系。
<meta charset="utf-8">
<script>
function Person(){
this.name="monster1935";
this.age='24';
this.sex="male";
return "doubi";
}
console.log(Person()); //doubi
console.log(new Person());//Person {name: "monster1935", age: "24", sex: "male"}

image.png
如果返回值為引用類型
如下,返回的那玩意類型是引用類型。(數(shù)組, 對象, 函數(shù)等)。如果是值類型,返回obj。如果是引用類型,就返回這個引用類型的對象。(不是this對象)
function Person(){
this.name="monster1935";
this.age='24';
this.sex="male";
return {
name:'Object',
age:'12',
sex:'female'
}
}
console.log(Person()); //Object {name: "Object", age: "12", sex: "female"}
console.log(new Person());//Object {name: "Object", age: "12", sex: "female"}

image.png
總結(jié)
- return的是五種簡單數(shù)據(jù)類型:String,Number,Boolean,Null,Undefined。 這種情況下,忽視return值,依然返回this對象。
- return的是Object 這種情況下,不再返回this對象,而是返回return語句的返回值。
也就是說如果你return的是非引用類型的話。并沒有什么卵用。如果你返回一個對象,那么這個對象會替代構(gòu)造函數(shù)中的this
挺別扭但是so easy。