zoukankan      html  css  js  c++  java
  • 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'} 
    
  • 相关阅读:

    双向链表
    obs分析 笔记
    循环链表
    静态链表
    链式顺序表
    线性表
    ffmpeg-4.1.1-win64-dev在vs2017的搭建
    G1 与 CMS 两个垃圾收集器的对比
    垃圾回收算法有几种类型? 他们对应的优缺点又是什么?
  • 原文地址:https://www.cnblogs.com/kenanyah/p/13246934.html
Copyright © 2011-2022 走看看