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