当前位置: 首页 > news >正文

JavaScript编程进阶 – Return语句

JavaScript编程进阶 – Return语句

JavaScript Programming Advanced – Return Statement

By Jackson@ML

就像人们习惯的函数一样,总觉得在函数体最后需要一个return语句,标志着函数的结束,就像下面这个函数 theFunc() 那样。

function theFunc() { return 0
} 

本文简要介绍一下可选的return语句,以及用return语句返回函数(而不是具体数值)的例子。希望对您有所帮助。

1. 可选的return

让我们先来看一个JavaScript函数,符合ES5规范。这个函数用于打招呼,函数名称为:sayHello(),代码如下:

"use strict";
var sayHello = function sayHello() {return "Hello, world!";
};
console.log(sayHello());

执行结果如下图所示:
在这里插入图片描述
如果变换一下,即不用声明显示的函数,取而代之的是匿名函数,代码如下:

"use strict";var sayHello = () => "Hello, world!"
console.log(sayHello());

执行结果如下图所示:
在这里插入图片描述
由上述代码可以看到,sayHello()已经成为一个被函数被赋值的变量。而此时,并没有出现return语句。

因此,return语句在ES6中是可选的。

2. 返回函数

如何把一个函数传递给另一个函数呢?既然我们讲过,函数是JavaScript中的数据,那么,就能把它从其它函数中返回,就如同其它数据类型一样。

下面有一个例子,代码如下:

let crazy = () => { return String }let func = crazy()
console.log(func("Hello, world!"))

上例可以看出,crazy函数返回了一个指向String字符串函数的函数引用;在调用crazy函数时, 返回了一个String函数。

注意:它仅仅返回了函数引用,并未执行函数!

执行结果如下图所示:在这里插入图片描述
当然,用如下的方式执行,可能会更好些:

let crazy = () => { return String }
console.log(crazy()("Hello, world!"))

执行结果如下图所示:
在这里插入图片描述

技术好文陆续推出,敬请关注。

喜欢就点赞哈!您的认可,我的动力!😃

相关阅读:

  1. JavaScript编程基础 - 布尔值(Booleans)
  2. JavaScript编程基础 - 对象(Objects)
  3. JavaScript编程基础 - 函数进阶
  4. JavaScript编程基础 - 条件语句
  5. JavaScript编程基础 - 函数入门
  6. JavaScript编程基础 - 关键字Let, Const和Var的区别
  7. JavaScript编程基础 - 变量
  8. JavaScript编程基础 - 输出
  9. 用Visual Studio Code搭建JavaScript开发环境

相关文章:

JavaScript编程进阶 – Return语句

JavaScript编程进阶 – Return语句 JavaScript Programming Advanced – Return Statement By JacksonML 就像人们习惯的函数一样,总觉得在函数体最后需要一个return语句,标志着函数的结束,就像下面这个函数 theFunc() 那样。 function theFunc() { re…...

Python与设计模式--备忘录模式

23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...

04_Flutter自定义Slider滑块

04_Flutter自定义Slider滑块 一.Slider控件基本用法 Column(mainAxisAlignment: MainAxisAlignment.start,children: <Widget>[Text("sliderValue: ${_sliderValue.toInt()}"),Slider(value: _sliderValue,min: 0,max: 100,divisions: 10,thumbColor: Colors.…...

服务器数据恢复—EMC存储raid5故障导致上层应用崩溃的数据恢复案例

服务器存储数据恢复环境&#xff1a; EMC某型号存储&#xff0c;8块组建一组raid5磁盘阵列。上层操作系统采用zfs文件系统。 服务器存储故障&分析&#xff1a; raid5阵列中有2块硬盘未知原因离线&#xff0c;raid5阵列崩溃&#xff0c;上层应用无法正常使用。 服务器数据恢…...

7.1 Windows驱动开发:内核监控进程与线程回调

在前面的文章中LyShark一直在重复的实现对系统底层模块的枚举&#xff0c;今天我们将展开一个新的话题&#xff0c;内核监控&#xff0c;我们以监控进程线程创建为例&#xff0c;在Win10系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现&#xff0c;此类函数的原…...

基于ssm的汽车论坛管理系统设计与实现

基于ssm的汽车论坛管理系统设计与实现 摘要&#xff1a;信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题…...

实习开发日志经验总结(一)

文章目录 前言实习日志经验总结 前言 自己之前实习过程中遇到的问题以及相应的解决过程&#xff0c;我都有记录形成比较凌乱的实习日志。故想在整个实习日志的基础上&#xff0c;提炼一些技术知识点或者是解决问题的思路。考虑到实习项目的不方便公开性&#xff0c;所以会隐去…...

【Unity基础】8.简单场景的搭建

【Unity基础】8.简单场景的搭建 大家好&#xff0c;我是Lampard~~ 欢迎来到Unity基础系列博客&#xff0c;所学知识来自B站阿发老师~感谢 &#xff08;一&#xff09;场景资源 &#xff08;1&#xff09;Import资源包 今天我们将手动去搭一个简单的场景&#xff0c;当…...

傅里叶变换及其在机器学习中的应用

​​​​​​​一、介绍 傅立叶变换是一种数学技术&#xff0c;在各个科学和工程领域发挥着关键作用&#xff0c;其应用范围从信号处理到量子力学。近年来&#xff0c;它在机器学习领域发现了新的意义。本文探讨了傅里叶变换的基础知识及其在机器学习应用中日益增长的重要性。 …...

xorm源码学习

文章目录 XORM源码浅析及实践ORMORM vs. SQLXORM软件架构 ORM 引擎 Engine——DBM*core.DB Golang&#xff1a;database/sql 源码基本结构连接复用&#xff0c;提高性能。增加数据库连接池数量连接管理 database/sql主要内容&#xff1a;sql.DB创建数据库连接sql.Open()DB.conn…...

Vue3中的<script setup>和<script>的区别

相同点 在一个 Vue3 单文件组件 (SFC)中&#xff0c;<script setup> 和 <script> 它们各自最多只能存在一个。 不同点 <script setup> 这个脚本块将被预处理为组件的 setup() 函数&#xff0c;这意味着它将为每一个(也可以说每一次)组件实例都执行。 <…...

Docker笔记-Docker搭建最新版zabbix服务端(2023-07-31)

前言 一开始问chartgpt上&#xff0c;搭建的思路是对的&#xff0c;但命令和细节有问题&#xff0c;最后还是依靠StackOverflow解决的。一开始在amd的linux上搭建好docker版的zabbix&#xff0c;但放到arm的机器上就报错了&#xff0c;原因是指令集不匹配&#xff0c;最后跑到…...

QT配合CSS隐藏按钮

第一种方法 在Qt的CSS样式表中&#xff0c;使用 visibility 属性来隐藏按钮。设置 visibility 为 hidden 不可见&#xff0c;而设置为 visible 则可见。 隐藏所有 QPushButton QPushButton {visibility: hidden; }隐藏特定的按钮&#xff0c;用按钮的名称或样式类进行定位就…...

2023亚太地区数学建模C题思路分析+模型+代码+论文

目录 1.2023亚太地区各题思路模型&#xff1a;比赛开始后&#xff0c;第一时间更新&#xff0c;获取见文末名片 3 常见数模问题常见模型分类 3.1 分类问题 3.2 优化问题 详细思路见此名片&#xff0c;开赛第一时间更新 1.亚太地区数学建模ABC题思路模型&#xff1a;9比赛开…...

Linguistic Steganalysis in Few-Shot Scenario论文阅读笔记

TIFS期刊 A类期刊 新知识点 Introduction Linguistic Steganalysis in Few-Shot Scenario模型是个预训练方法。 评估了四种文本加密分析方法&#xff0c;TS-CSW、TS-RNN、Zou、SeSy&#xff0c;用于分析和训练的样本都由VAE-Stego生产(编码方式使用AC编码)。 实验是对比在少样…...

详细学习Pyqt5的4种项目部件(Item Widget)

Pyqt5相关文章: 快速掌握Pyqt5的三种主窗口 快速掌握Pyqt5的2种弹簧 快速掌握Pyqt5的5种布局 快速弄懂Pyqt5的5种项目视图&#xff08;Item View&#xff09; 快速弄懂Pyqt5的4种项目部件&#xff08;Item Widget&#xff09; 快速掌握Pyqt5的6种按钮 快速掌握Pyqt5的10种容器&…...

notepad++ 插件JSONView安装

1&#xff0c;前提 开发过程中经常需要处理json格式语句&#xff0c;需要对json数据格式化处理&#xff0c;因为使用的是虚拟机内开发&#xff0c;所以没法连接外网&#xff0c;只能在本地电脑下载插件后&#xff0c;然后上传到虚拟机中&#xff0c;进行安装使用。 2&#xf…...

AKConv:具有任意采样形状和任意数目参数的卷积核

文章目录 摘要1、引言2、相关工作3、方法3.1、定义初始采样位置3.2、可变卷积操作3.3、扩展AKConv3.3、扩展AKConv 4、实验4.1、在COCO2017上的目标检测实验4.2、在VOC 712上的目标检测实验4.3、在VisDrone-DET2021上的目标检测实验4.4、比较实验4.5、探索初始采样形状 5、分析…...

如何使用C++开发集群服务

开发集群服务需要掌握以下技术&#xff1a; 分布式系统原理&#xff1a;了解集群的概念、工作原理、负载均衡、容错等相关概念。 网络编程&#xff1a;掌握Socket编程和HTTP协议等。 C编程&#xff1a;熟练掌握C语言的基础知识和STL等常用库。 多线程编程&#xff1a;了解线…...

docker安装以及idea访问docker

其他目录&#xff1a; docker 安装环境: https://blog.csdn.net/gd898989/article/details/134570167 docker 打包java包&#xff0c;并运行&#xff08;有空更新&#xff09; url “” docker 打包vue &#xff08;有空更新&#xff09; url “” docker 多服务 &#xff08;…...

本地化AI字幕解决方案:Qwen3-ForcedAligner支持多格式音频

本地化AI字幕解决方案&#xff1a;Qwen3-ForcedAligner支持多格式音频 1. 引言&#xff1a;本地化字幕生成的新选择 在视频内容创作和多媒体处理领域&#xff0c;字幕生成一直是个耗时费力的工作。传统手动添加字幕不仅效率低下&#xff0c;时间轴对齐的精度也难以保证。Qwen…...

效率飙升:基于快马AI将繁琐cmd操作整合为自动化脚本工具

最近在开发过程中&#xff0c;经常需要重复执行一些系统维护和环境配置的cmd命令&#xff0c;每次都要手动输入或者查找历史记录&#xff0c;效率实在太低。于是我开始思考如何把这些零散的cmd命令整合成一个自动化工具&#xff0c;正好发现了InsCode(快马)平台这个神器&#x…...

3步终极修复方案:拯救损坏的直播录制文件

3步终极修复方案&#xff1a;拯救损坏的直播录制文件 【免费下载链接】BililiveRecorder 录播姬 | mikufans 生放送录制 项目地址: https://gitcode.com/gh_mirrors/bi/BililiveRecorder 直播录制时最令人头疼的是什么&#xff1f;不是网络波动&#xff0c;不是主播下播…...

科哥版HeyGem实战应用:企业内训播报,文字转语音再转数字人全流程

科哥版HeyGem实战应用&#xff1a;企业内训播报&#xff0c;文字转语音再转数字人全流程 1. 企业内训数字人播报的价值与痛点 在当今快节奏的商业环境中&#xff0c;企业内训面临着内容更新频繁、制作周期紧张、人力成本高昂等挑战。传统的内训视频制作需要协调讲师时间、租赁…...

聚焦AI专著生成:热门工具大盘点,满足不同写作需求

创新是学术专著的核心&#xff0c;也是写作过程中最重要的挑战。一本优秀的专著&#xff0c;不仅仅是将已有的研究成果拼凑在一起&#xff0c;而是需要提出贯穿整个作品的独到见解、理论框架或研究方法。在浩如烟海的学术文献面前&#xff0c;发掘尚未被触及的研究空白并不简单…...

5分钟掌握UEFI启动画面个性化:HackBGRT终极指南

5分钟掌握UEFI启动画面个性化&#xff1a;HackBGRT终极指南 【免费下载链接】HackBGRT Windows boot logo changer for UEFI systems 项目地址: https://gitcode.com/gh_mirrors/ha/HackBGRT 你是否厌倦了每次开机都看到单调乏味的厂商Logo&#xff1f;想要在启动时展示…...

RexUniNLU效果实测:对比传统方法,零样本在垂直领域信息抽取的准确率表现

RexUniNLU效果实测&#xff1a;对比传统方法&#xff0c;零样本在垂直领域信息抽取的准确率表现 1. 测试背景与方法论 1.1 为什么需要零样本信息抽取&#xff1f; 在传统NLP项目中&#xff0c;构建一个可用的信息抽取系统通常需要经历数据收集、标注、训练、调优等复杂流程。…...

如何让Windows播放器支持所有视频格式:终极媒体解码解决方案

如何让Windows播放器支持所有视频格式&#xff1a;终极媒体解码解决方案 【免费下载链接】LAVFilters LAV Filters - Open-Source DirectShow Media Splitter and Decoders 项目地址: https://gitcode.com/gh_mirrors/la/LAVFilters 你是否曾经遇到过这样的烦恼&#xf…...

E-Ink Launcher架构设计如何解决电子墨水屏性能瓶颈:深度解析Android启动器优化策略

E-Ink Launcher架构设计如何解决电子墨水屏性能瓶颈&#xff1a;深度解析Android启动器优化策略 【免费下载链接】E-Ink-Launcher E-reader Launcher for Android, Electronic paper book... 项目地址: https://gitcode.com/gh_mirrors/ei/E-Ink-Launcher E-Ink Launche…...

C++ STL 容器选型实战:vector/list/map/unordered_map 性能对比与选型指南

一、前言&#xff1a;为什么容器选型是 C 工程的核心&#xff1f;在 C 后端开发、Qt 桌面应用、高性能服务器、嵌入式系统、游戏引擎、实时仿真、数据分析等几乎所有工业级项目中&#xff0c;STL 容器的选型直接决定程序性能、内存占用、可维护性与稳定性。很多开发者习惯随手写…...