js 構造函數的返回值


js的構造函數

構造函數: 構造函數只是一些使用new操作符時被調用的函數 ----- 來自《你不知道的js》

new關鍵字

new操作符執行時進行的操作: (來自MDN new操作符)

  • 創建一個空的簡單JavaScript對象(即{});
  • 鏈接該對象(即設置該對象的構造函數)到另一個對象 ;
  • 將步驟1新創建的對象作為this的上下文 ;
  • 如果該函數沒有返回對象,則返回this

構造函數返回值

  1. 如果不寫return -> 直接返回默認創建的新對象
function foo(){
      var obj = {'name': 'kenan'};      
}
var result = new foo();
result;  // ==> foo對象
  1. 如果返回this -> 直接返回默認創建的新對象
function foo(){
      var obj = {'name': 'kenan'}; 
      return this;    
}
var result = new foo();
result;  // ==> foo對象
  1. 如果返回的是基本數據類型: 直接返回默認創建的新對象
function foo(){
      var obj = {'name': 'kenan'}; 
      return 1000;    
}
var result = new foo();
result;  // ==> foo對象
  1. 如果返回到是對象 -> 直接把這個對象, 返回給外界, 外界接受到的就是這個函數內部返回的對象
function foo(){
      var obj = {'name': 'kenan'}; 
      return obj;
      // return [1,2,3]  // 若是直接返回數組[1,2,3], result輸出[1,2,3]
}
var result = new foo();
result;  // ==> {'name': 'kenan'} 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM