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开发环境

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

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

相关文章

沈阳师范大学期末考试复习pta循环数组函数指针经典编程题汇总+代码分析

前言:临近期末,接下来给大家分享一些经典的编程题,方便大家复习。不一定难,但都是入门的好题,尽可能的吃透彻。因为据说期末考试的题很多来自pta上面的原题。 对于一些语言我是用c来写的,不妨碍理解&#…

Linux下文件操作函数

一.常见IO函数 fopen fclose fread fwrite fseek fflush fopen 运行过程 :打开文件 写入数据 数据写到缓冲区 关闭文件后 将数据刷新入磁盘 1.fopen 返回文件类型的结构体的指针 包括三部分 1).文件描述符(整形值 索引到磁盘文件)…

AI4S Cup学习赛-中枢神经系统药物研发:药物筛选与优化

赛题介绍 链接:Bohrium 案例广场 (dp.tech) 中枢神经系统类疾病长期以来存在着重要的临床未满足需求。据统计,在当前人口老龄化趋势下,阿兹海默(AD)、帕金森病(PD)等神经退行性疾病和脑癌、中…

echarts图表显示不全

图表显示是显示了,但是没有展示全部,一看控制台div的高度只有1px了,手动修改高度也只是拉伸图表,并没有按规定的尺寸展示 随之开始思考为什么呢 ? ? ? 因为 Echarts 的依赖是惰性的,需要手动设置resize&#xff0…

《软件工程原理与实践》复习总结与习题——软件工程

软件生命周期 软件生命周期分为三个时期、八个阶段 软件定义时期: 1)问题定义阶段:要解决什么问题 2)可行性研究阶段:确定软件开发可行 3)需求分析阶段:系统做什么 软件开发时期:…

单片机霍尔测速系统设计+源程序

一、系统方案 1、本设计采用52单片机作为主控器。 2、霍尔测速送到液晶1602。 3、蜂鸣器报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 void lcd_init()//液晶初始化函数* { write_1602com(0x38);//设置液晶工作模式,意思…

嵌入式八股 | 校招秋招 | 笔试面试 | 精选题目

欢迎关注微信公众号【赛博二哈】获取八股PDF 并加入嵌入式求职交流群。提供简历模板、学习路线、岗位整理等 欢迎加入知识星球【嵌入式求职星球】获取完整嵌入式八股。 提供简历修改、项目推荐、求职规划答疑。另有各城市、公司岗位、笔面难题、offer选择、薪资爆料等 嵌入式…

利用数据库的表,生成word文档的表结构注释说明

文章目录 1.场景说明2.解决办法3.生成文档3.1.实现思路3.2.引入Apache POI依赖3.3.获取表及表字段说明Mapper3.4.POI创建文档表格,并填充数据3.5.完整的接口下载代码3.6.效果展示 1.场景说明 在项目中表已经建立好了,但是现在想对外提供一个表的字段的描…

物联网开发(一)新版Onenet 基础配置

onenet新创建的账号,没有了多协议接入,只有新的物联网开放平台 第一讲,先给大家讲一下:新版Onenet 基础配置 创建产品 产品开发-->创建产品 产品的品类选择个:大致符合你项目的即可,没有影响 选择智…

watch函数与watchEffect函数

watach函数: 与vue2.x的配置功能一致 监视指定的一个或多个响应式数据, 一旦数据变化, 就自动执行监视回调 默认初始时不执行回调, 但可以通过配置immediate为true, 来指定初始时立即执行第一次 通过配置deep为true, 来指定深度监视 watchEffect函数:…

企业人力资源公司抖音直播招聘断播怎么处理?

企业人力资源公司抖音直播招聘断播怎么处理? 最直接的处理方式就是进行抖音直播招聘报白,报白后在直播和视频中发布招聘和企业信息,不用担心被封禁和限制流量。 可以通过抖音直播进行招聘,也可以在视频中添加小程序,…

【送书活动二期】Java和MySQL数据库中关于小数的保存问题

之前总结过一篇文章mysql数据库:decimal类型与decimal长度用法详解,主要是个人学习期间遇到的mysql中关于decimal字段的详解,最近在群里遇到一个小伙伴提出的问题,也有部分涉及,今天就再大致总结一下Java和MySQL数据库…

ChatGPT成了背锅侠:利用AI做蹭热点视频

我是卢松松,点点上面的头像,欢迎关注我哦! 在抖音\视频号上已经有很多人利用ChatGPT做热点视频的案例了,视频都是点赞大几千、几万。看完本文,你会略知一二,如下图所示: 这个视频&#xff0c…

Windows安装Docker、自定义安装目录

目录 前言一、Docker安装包下载二、自定义Docker安装路径、设置到其他盘三、安装Docker四、安装后配置1.修改镜像保存路径2.自定义镜像源(可选) 五、Docker运行验证1.docker/welcome-to-docker2.MySQL服务 总结 前言 Docker是一种开源的容器化平台&…

预付费远传水表好用还是后付费远传水表好用?

在远传水表市场中,预付费远传水表和后付费远传水表各自具有一定的优势和劣势。接下来,小编就来为大家讲下两者的优劣势,以此来判断到底是预付费远传水表好用还是后付费远传水表好用。 一、预付费远传水表 1.优点 (1)先付费后用水:…

Proteus的网络标号与总线

Proteus为了减少过多、复杂的连线,可以使用网络标号与总线配合使用。 Proteus的导线上添加了网络标号,意味着在Proteus上相同的网络标号是连在一起的,所说在图纸上看不出来。 如下图是比较好的Proteus中使用总线的绘制的图纸。可以效仿着画…

Echarts的引入使用

ECharts文档 1.下载并引入Echarts 2.准备一个具备大小的DOM容器 3.初始化echarts实例对象 4.指定配置项和数据(option) 5.将配置项设置给echarts实例对象 最后是一个js文件 echarts的引入 1.引入echarts - js 文件 <script src"js/echarts.min.js"></scri…

Git和Git小乌龟安装

目录 Git简介 Git安装 Git小乌龟简介 Git小乌龟安装 Git简介 Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地进行从很小到非常大的项目的版本管理。它最初是由Linux Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。Git具有速度、…

国密加密工业路由器 数据安全升级

国密加密工业路由器&#xff0c;简称国密加密路由器&#xff0c;是指遵循“商用密码管理规范”中规定的国家商用密码算法&#xff0c;采用国密加密芯片和密码算法的专业路由器。相比-般路由器&#xff0c;国密加密路由器具有更高级别的加密保护&#xff0c;可以有效提高数据传输…

Python---练习:求某同学成绩的总分及平均分

需求&#xff1a; 已知某同学的语文(70)、数学(90) 、英语(80)、历史(75)、地理(85)五门课的成绩,编程求该同学的总分以及平均分。 思考&#xff1a; 要求是算总分和平均分&#xff0c;先看总分&#xff0c;已经知道了各科成绩&#xff0c;那么可以用把成绩赋值给每个学科的…