js 构造函数的返回值

Posted XyanZhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘} 

以上是关于js 构造函数的返回值的主要内容,如果未能解决你的问题,请参考以下文章

Jquery 的构造函数

JS常用代码片段-127个常用罗列-值得收藏

js中的数组与函数

js中的数组与函数

构造函数返回值?

在 Visual Studio 中创建构造函数的代码片段或快捷方式