javascript建構函式的返回值

admin發表於2017-03-31

通過new運算子呼叫建構函式可以建立一個物件例項,這是眾所周知的。

這裡可能很多朋友有這樣一個疑問,如果建構函式有返回值該如何處理。

下面就就分享幾個演示程式碼:

例項一:

[JavaScript] 純文字檢視 複製程式碼
function Antzone(webName, age) {
  this.webName = webName;
  this.age = age;
}
var oantzone = new Antzone("螞蟻部落", 3);
console.log(oantzone.webName);

上面的程式碼就是一個建構函式的簡單應用。

例項二:

[JavaScript] 純文字檢視 複製程式碼
function Antzone(webName, age) {
  this.webName = webName;
  this.age = age;
  return 5;
}
var oantzone = new Antzone("螞蟻部落", 3);
console.log(oantzone.webName);

當返回值不是一個物件的時候,返回值會被忽略。

例項三:

[JavaScript] 純文字檢視 複製程式碼
function Antzone(webName, age) {
  this.webName = webName;
  this.age = age;
  return {
    address: "青島市南區",
    target:"分享互助"
  }
}
var oantzone = new Antzone("螞蟻部落", 3);
console.log(oantzone.webName);
console.log(oantzone.address);

從上面的程式碼可以看出,建構函式的返回值不是this指向的物件,而是就是建構函式內的物件直接量。

相關文章