• JS:构造函数的返回值


     构造函数返回的知识点

    1、在构造函数里面,如果不写return的话默认就是返回创建的实例对象。

    2、在构造函数里面,如果写了return的话

      1)如果return的是一个基本数据类型的话比如,boolean,number,undefined等那么仍然返回实例对象;

       2)如果return的是一个对象的话,则返回该对象。原本的指向实例对象的this会被无效化。

     情况一:return false  (return基本数据类型,仍然返回实例化对象)

    1. // 情况一:return false (return基本数据类型,仍然返回实例化对象)
    2. const test = {
    3. rules: false
    4. };
    5. function Build() {
    6. this.rules = true;
    7. return false
    8. }
    9. const build = new Build();
    10. console.log(build);
    11. console.log(build.rules);

     情况二:return this.rules   (return基本数据类型,仍然返回实例化对象)

    1. // 情况二:return this.rules (return基本数据类型,仍然返回实例化对象)
    2. const test = {
    3. rules: false
    4. };
    5. function Build() {
    6. this.rules = true;
    7. return this.rules
    8. }
    9. const build = new Build();
    10. console.log(build);
    11. console.log(build.rules);

     

     情况三:return test    (return对象test,返回对象test)

    1. // 情况三:return test (return对象test,返回对象test)
    2. const test = {
    3. rules: false
    4. };
    5. function Build() {
    6. this.rules = true;
    7. return test
    8. }
    9. const build = new Build();
    10. console.log(build);
    11. console.log(build.rules);

     

    情况四:什么都不做 (不写return,默认返回创建的实例对象。) 

    1. const test = {
    2. rules: false
    3. };
    4. function Build() {
    5. this.rules = true;
    6. }
    7. const build = new Build();
    8. console.log(build);
    9. console.log(build.rules);

     


    总结

    在构造函数里面,如果不写return的话默认就是返回创建的实例对象,

    但是如果加入了return的话,如果return的是一个基本数据类型的话比如,boolean,number,undefined等那么仍然返回实例对象,如果返回的是一个对象的话,则返回该对象,原本的指向实际对象的this会被无效化


    文章如有错误,恳请大家提出问题,本人不胜感激 。 不懂的地方可以评论,我都会一一回复

    文章对大家有帮助的话,希望大家能动手点赞鼓励,大家未来一起努力     长路漫漫,道阻且长  

  • 相关阅读:
    C# 压缩PDF文件
    Nginx + tomcat 搭建
    移动端页面如何优雅的适配各种屏幕,包括PC端
    【Redis】记录一次K8S存储故障导致Redis集群拓扑异常的修复过程
    Linux环境下安装Nodejs
    Google Earth Engine(GEE)—— Landsat7和8的2000-2021年的影像土地分类的下载和视频导出
    Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
    Real-Time Rendering——16.1 Sources of Three-Dimensional Data三维数据的来源
    python 抽象类
    入门力扣自学笔记164 C++ (题目编号:面试题 01.08)
  • 原文地址:https://blog.csdn.net/qq_52855464/article/details/125626642