当前位置: 首页 > 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开发环境
http://www.lryc.cn/news/248780.html

相关文章:

  • Python与设计模式--备忘录模式
  • 04_Flutter自定义Slider滑块
  • 服务器数据恢复—EMC存储raid5故障导致上层应用崩溃的数据恢复案例
  • 7.1 Windows驱动开发:内核监控进程与线程回调
  • 基于ssm的汽车论坛管理系统设计与实现
  • 实习开发日志经验总结(一)
  • 【Unity基础】8.简单场景的搭建
  • 傅里叶变换及其在机器学习中的应用
  • xorm源码学习
  • Vue3中的<script setup>和<script>的区别
  • Docker笔记-Docker搭建最新版zabbix服务端(2023-07-31)
  • QT配合CSS隐藏按钮
  • 2023亚太地区数学建模C题思路分析+模型+代码+论文
  • Linguistic Steganalysis in Few-Shot Scenario论文阅读笔记
  • 详细学习Pyqt5的4种项目部件(Item Widget)
  • notepad++ 插件JSONView安装
  • AKConv:具有任意采样形状和任意数目参数的卷积核
  • 如何使用C++开发集群服务
  • docker安装以及idea访问docker
  • 激光切割头组件中喷嘴的作用是什么
  • 腾讯云双11活动最后一天,错过再等一年!
  • Java实现飞翔的鸟小游戏
  • Python网络请求初级篇:使用Requests库抓取和解析数据
  • 详解API开发【电商平台API封装商品详情SKU数据接口开发】
  • 后端项目连接数据库-添加MyBatis依赖并检测是否成功
  • C++ CryptoPP使用RSA加解密
  • 从实践角度深入探究数据驱动和关键字驱动测试方法!
  • Unity收费对谁影响最大
  • 信号收尾.
  • maven 常用命令解析