1. 程式人生 > >JS中建構函式中有return的分析

JS中建構函式中有return的分析

目錄

寫在前面

demo幫助理解


寫在前面

簡單的總結來說就一句話:如果return的值是基本資料型別的話,則忽略return,直接返回例項化的物件;如果return的值是引用型別的話,則不再返回例項化的物件,而是直接返回return返回的引用型別的值。


demo幫助理解

看幾個例子

function Person(name) {
  this.name = name
  return 12306
}
let p = new Person('Tom')
console.log(p);

此種情況下,會忽略return後面的12306,而直接返回Person的例項化物件。


let obj = {age: 26}
function Person(name) {
  this.name = name
  return obj
}
let p = new Person('Tom')
console.log(p);

此種情況下,由於return的值是一個物件,所以p的值最後會是返回的物件,即obj.