构造函数中return的几种情况

能不能在构造函数中使用return呢?答案是可以的,但是return在使用过程中要知道一些规则

我们通过代码的形式,来了解了解

function TestA(name){this.name = namereturn 1 
}
function TestB(name){this.name = namereturn 'test'
}
function TestC(name){this.name = namereturn false
}
function TestD(name){this.name = namereturn [1,2,3]
}
function TestE(name){this.name = namereturn {}
}

我们在上面定义了5个构造函数,让他们分别返回不同的基本类型和引用类型的数据

下面我们来实例化这些构造函数,看看结果

let testA = new TestA('lili')
testA.  // TestA {name: 'lili'}
let testB = new TestB('lili')
testB. // TestA {name: 'lili'}
let testC = new TestC('lili')
testC // TestA {name: 'lili'}
let testD = new TestD('lili')
testD. //[1, 2, 3]
let testE = new TestE('lili')
testE. // {}

我们发现:

在构造函数中返回基本类型的数据,return不起作用;
在构造函数中返回引用类型的数据,实例化对象会返回return中的数据

这里请注意构造函数实例化对象要区别于函数的执行

let testA = TestA('lili')
testA  // 1
let testB = TestB('lili')
testB //'test'
let testC = TestC('lili')
testC //false
let testD = TestD('lili')
testD //[1, 2, 3]
let testE = TestE('lili')
testE // {}

是不是清楚了,利用new实例的对象和函数执行时return的情况不一样哈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/5276.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

visionPro链接相机

搜索Cognex GigE Vision Configura… 修改子网掩码为255.255.255.0 配置驱动程序 更新驱动(如果能够选择9014Bytes,跳过此步骤) 更新更改 相机ip配置 打开visionPro 选择照相机 查看实时画面 运行保存图像

【Golang】Gin 框架的多种类型绑定函数

文章目录 前言一、Gin 框架解释二、代码实现三、总结 前言 在开发 Web 应用时,处理 HTTP 请求和响应是我们经常需要做的事情。在 Go 语言中,我们有许多优秀的 Web 框架可以帮助我们完成这项工作,而 Gin 框架就是其中之一。本文将深入探讨 Gi…

微服务使用SockJs+Stomp实现Websocket 前后端实例 | Vuex形式断开重连、跨域等等问题踩坑(二)

大家好,我是程序员大猩猩。 上次我们实践了,Java后端如何完成SockJSStomp的配置实现。 微服务使用SockJsStomp实现Websocket 前后端实例 | Vuex形式断开重连、跨域等等问题踩坑(一) 那么今天我们做一下web vue端的是如何来实现…

Java浮点类型和计算“精度丢失”原因

引言 在计算机科学领域中,浮点数是一种用于表示近似实数的数据类型,广泛应用于科学计算、工程设计、金融建模等领域。在日常编程中,我们经常会遇到浮点数的计算和处理,然而,由于浮点数在计算机中的存储和表示方式,以及二进制与十进制之间的转换问题,可能会导致计算精度…

现代机器学习(ML)技术在医疗成像领域的新应用

现代机器学习(ML)技术在医疗成像领域的新应用主要包括以下几个方面: 一、自动病变检测 使用深度学习算法,尤其是卷积神经网络(CNN),自动识别和分类医学影像中的病变,如肿瘤、炎症等。自动病变检测是现代机器学习技术在医疗成像领域应用的一个重要方向。它主要通过以下…

hive-row_number() 和 rank() 和 dense_rank()

row_number() 是无脑排序 rank() 是相同的值排名相同,相同值之后的排名会继续加,是我们正常认知的排名,比如学生成绩。 dense_rank()也是相同的值排名相同,接下来的排名不会加。不会占据排名的坑位。

智能私信软件:转化率提升的神器

在数字化营销领域,利用智能私信软件策略提升转化率已经成为一种不可忽视的趋势。随着人工智能技术的发展,这些软件变得越来越智能,能够根据用户的行为和偏好提供个性化的沟通体验。在这篇文章中,我们将探讨如何有效地运用智能私信…

Leetcode_相交链表

✨✨所属专栏:LeetCode刷题专栏✨✨ ✨✨作者主页:嶔某✨✨ 题目: 题解: 看到这个题目首先我们要排除链表逆置的想法,如图、因为c1节点只有一个next指针,逆置后不可能同时指向a2和b3节点。 其次有的的同学…

【RabbitMQ】可靠性策略(幂等,消息持久化)

MQ可靠性策略 发送者的可靠性问题生产者的重连生产者确认 MQ的可靠性数据持久化Lazy Queue 消费者的可靠性问题消费者确认机制消息失败处理 业务幂等性简答问题 发送者的可靠性问题 生产者的重连 可能存在由于网络波动,出现的客户端连接MQ失败,我们可以…

JavaScript 中的 this 到底指向谁? 今天彻底把它征服!!!

概述 我们知道,JS 中的 this 指向问题,一直是一个经久不衰的重点和考点。那么它到底难不难呢?怎么说呢?它也难也不难,你要是不把它理清楚,随意变化一下就能把你绊倒;但是你要是把他理清楚了以后…

VUE+TS使用elementUI的el-checkbox双重v-for循环做勾选

html部分 <template><div class"hello"><el-form :model"elForm"> <!-- cities对象数组形式 --><el-form-item v-for"(item, topIndex) in cities" :key"topIndex"> <!--item.checked 是每一个item…

最新游戏陪玩语音聊天系统3.0商业升级独立版本源码+搭建教程

首发价值29800元的最新商业版游戏陪玩语音聊天系统3.0商业升级独立版本源码。 下 载 地 址 &#xff1a; runruncode.com/php/19748.html 1. 新增人气店员轮播功能。 2. UI界面优化&#xff0c;包括游戏图标展示和分类展示的改进。 3. 增加动态礼物打赏功能。 4. 新增礼…

SQL底层执行过程

MySQL 的查询流程 客户端请求连接器 负责与客户端的通信,是半双工模式&#xff08;半双工(Half Duplex)数据传输指数据可以在一个信号载体的两个方向上传输,但是不能同时传输。&#xff09;&#xff0c;验证请求用户的账户和密码是否正确&#xff0c;③如果用户的账户和密码验…

Codigger数据篇(下):数据安全的全方位保障

在数字化浪潮中&#xff0c;数据已成为现代企业的核心财富。Codigger作为领先的数据服务平台&#xff0c;深知数据安全对于用户的重要性&#xff0c;因此在深挖数据价值的同时&#xff0c;我们始终坚守数据安全防线。 一、双重加密技术保障 Codigger平台运用先进的加密通信和…

MATLAB初学者入门(22)—— 哈希算法

哈希算法在计算机科学中广泛用于数据管理、安全、错误检测等多种应用。在MATLAB中&#xff0c;可以通过内置函数或自定义函数来实现哈希算法&#xff0c;以便于数据的快速检索、唯一性验证和数据完整性检查。 案例分析&#xff1a;使用哈希算法快速检索数据 假设我们有一个大型…

vue2.7与vue2.6、vue3的区别

官网链接&#xff1a;https://v2.cn.vuejs.org/v2/guide/migration-vue-2-7.html -组合式与选项式 选项式&#xff1a;export default { 各种选项关键字名&#xff0c;都定好了&#xff0c;无需引入&#xff0c;配对放置即可}

RabbitMQ Transport indicated EOF 总结

Rabbitmq报错 pika.exceptions.IncompatibleProtocolError StreamLostError (‘Transport indicated EOF‘,) 网上的答案是端口写错了&#xff0c;产生此报错的原因是我将port写成了15672&#xff0c;15672是rabbitmq管理页面的端口 port 15672rabbitmq需要通过端口5672连…

stm32单片机开发一、中断之外部中断实验

stm32单片机的外部中断和定时器中断、ADC中断等都由stm32的内核中的NVIC模块控制&#xff0c;stm32的中断有很多中&#xff0c;比如供电不足中断&#xff0c;当供电不足时&#xff0c;会产生的一种中断&#xff0c;这么多中断如果都接在CPU上&#xff0c;或者说CPU去处理&#…

Leetcode—2639. 查询网格图中每一列的宽度【简单】

2024每日刷题&#xff08;121&#xff09; Leetcode—2639. 查询网格图中每一列的宽度 实现代码 class Solution { public:int func(int num) {if(num 0) {return 1;}int len 0;while(num ! 0) {len;num / 10;}return len;}vector<int> findColumnWidth(vector<ve…

[开发|JAVA] asdf安装adoptium openJDK

编写原因 asdf使用install命令安装adoptium openJDK&#xff0c;会因为网络的原因导致安装失败&#xff0c;本篇文章介绍在adoptium官方下载压缩包安装openJDK。 openjdk下载地址 Eclipse Temurin 安装 以temurin-17.0.99为例演示安装 在temurin-17.0.99安装包所在地址打…