【JavaScript】函数 ④ ( 函数返回值 | 函数返回值语法 return 关键字 | 函数默认返回值 undefined )

文章目录

  • 一、JavaScript 函数返回值
    • 1、函数返回值引入
    • 2、函数返回值语法
    • 3、函数默认返回值
    • 4、函数默认返回值





一、JavaScript 函数返回值




1、函数返回值引入


JavaScript 函数 可以 实现某种特定的功能 , 执行完毕后 , 可以返回一个 " 返回值 " ;

当 函数 被调用执行任务完毕时 , " 返回值 " 会被返回给调用者 ;

如果 函数 中没有明确 使用 return 关键字 返回 " 返回值 " , 那么函数会默认返回undefined 值 ;


2、函数返回值语法


在 JavaScript 中 , 函数 返回值是 通过 return 语句实现 ,

在函数体 中 使用 return 语句 指定函数返回的值 , 使用 return 语句后 会立即终止函数的执行 ,

return 返回值 语法如下 :

function functionName(parameters) {  // 函数体 return expression; // 返回值
}

在 JavaScript 中的返回值类型 , 不需要在 函数 声明中注明 返回值类型 ;


3、函数默认返回值


在下面的代码中 , 定义了 add 函数 , 并且该函数没有 显示使用 return 关键字 返回返回值 ;

此时 执行 add 函数 , 返回给 调用者的 默认返回值是 undefined 未定义值 ,

使用 变量 ret 接收默认返回值 , 将其打印出来 就是 undefined 值 ;


代码示例 :

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><!-- 设置 meta 视口标签 --><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>JavaScript</title><style></style><script>// JavaScript 函数// 定义函数 有 2 个形参function add(num1, num2) {console.log("接收到实参 num1 = " + num1 + " , num2 = " + num2);console.log("计算结果 num1 + num2 = " + (num1 + num2));}// 1. 函数没有返回值var ret = add(1, 2);console.log("函数返回值 : " + ret);</script>
</head><body>
</body></html>

执行结果 : 打印出来的 函数返回值 是 undefined 未定义值 ;

在这里插入图片描述


4、函数默认返回值


在下面的代码中 , add 函数 中 使用 return 关键字 返回返回值 ,

使用 ret 变量 接收返回值 , 得到最终结果 3 ;


代码示例 :

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><!-- 设置 meta 视口标签 --><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>JavaScript</title><style></style><script>// JavaScript 函数// 定义函数 有 2 个形参function add(num1, num2) {console.log("接收到实参 num1 = " + num1 + " , num2 = " + num2);console.log("计算结果 num1 + num2 = " + (num1 + num2));// 返回返回值return num1 + num2;}// 函数有返回值var ret = add(1, 2);console.log("函数返回值 : " + ret);</script>
</head><body>
</body></html>

执行结果 :

在这里插入图片描述

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

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

相关文章

基于RDMA的云服务能力实践与探索

01 背景 随着基于大数据大模型构建的数据系统越来越有商业价值&#xff0c;机器学习的玩家也越来越多&#xff0c;数据量越来越大。为解决海量数据在服务器之间的同步效率问题&#xff0c;RDMA(Remote Direct Memory Access) 技术逐渐走进了网络技术人员的视野。RDMA为什么…

数据库-root密码丢失的重置方案(win11环境)

当在windows系统中安装的mysql由于操作不当&#xff0c;或者密码遗忘&#xff0c;今天测试了一下&#xff0c;可以用以下方法重置root的密码。 mysqlwindows环境root密码重置问题 在win10/11环境下mysql8密码遗忘后的重置密码方案。 停止mysql服务 查找windows中的mysql服务名称…

isaacgym 渲染黑屏

问题描述&#xff1a; isaacgym安装完IsaacGym_Preview_4_Package.tar.gz之后&#xff0c;运行python joint_monkey.py没有任何内容现实&#xff0c;但是终端还是正常输出信息。 环境是ubuntu22服务器&#xff0c;python3.8&#xff0c;nvidia Driver Version: 515.65.01 CUDA…

工具推荐:公网访问内网开发环境、将服务暴露到公网、远程调试:小程序、支付调试、远程桌面、公网访问内网站点、数据库

下载地址 Windows 64位 (切勿直接在压缩文件中操作,全部解压到一处后再操作,请关闭某60(会胡乱拦截),可用其他任意安全软件)Mac OS X 64位 (给fastnat执行权限 chmod x ./fastnat.. 终端运行二进制,自行百度,当然建议使用docker方式安装)Linux 64位 (给fastnat执行权限 chmod …

Node.js------Express

◆ 能够使用 express.static( ) 快 速 托 管 静 态 资 源◆ 能够使用 express 路 由 精 简 项 目 结 构◆ 能够使用常见的 express 中间件◆ 能够使用 express 创建API接口◆ 能够在 express 中启用cors跨域资源共享 一.初识Express 1.Express 简介 官方给出的概念&#xff…

Outlook邮箱后缀是什么?如何改邮箱后缀?

Outlook邮箱后缀可以更改吗&#xff1f;微软有哪些后缀的邮箱&#xff1f; 对于许多刚接触Outlook邮箱的新手来说&#xff0c;了解Outlook邮箱后缀是必不可少的一步。那么&#xff0c;Outlook邮箱后缀究竟是什么呢&#xff1f;接下来&#xff0c;AokSend就来详细探讨一下这个问…

未来的智能起航:探索AI技术的创业新天地

在科技飞速发展的当今世界&#xff0c;人工智能&#xff08;AI&#xff09;已经成为一个热门话题。不再是科幻小说中的概念&#xff0c;AI正逐渐融入我们的生活和工作中&#xff0c;开创了全新的创业市场和机会。人工智能&#xff08;AI&#xff09;的飞速发展不仅引领了科技的…

ALPHA开发板上PHY网络芯片LAN8720

一. 简介 正点原子的开发板 ALPHA开发板&#xff0c;有线网络硬件方案所使用的也是最常用的一种方案&#xff0c;IMX6ULL芯片内部是自带 MAC网络芯片的&#xff0c;所以&#xff0c;也就是采用 "SOC内部集成网络MAC外设 PHY网络芯片方案"。 ALPHA开发板使用的PHY网…

python coding with ChatGPT 专题2| 全解递归算法

文章目录 递归与栈的关系如何思考递归汉诺塔 经典题目入门&#xff1a;斐波那契数列分治法&#xff1a;归并排序树的递归遍历组合问题&#xff1a;子集搜索问题&#xff1a;N皇后 拓展阶乘的迭代法斐波那契数列迭代法青蛙跳 参考文献 掌握递归是解决许多编程问题的关键&#xf…

Ethernet修改网卡名称

如何修改Ethernet网卡名称 kernel/common/net/core/dev.c ---------------------------------------------------------------------- 8849/** 8850 * register_netdev - register a network device 8851 * @dev: device to register 8852 * 8853 * Take a completed network d…

基于java实现的沙县小吃点餐系统

开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclip…

“探秘数据结构:栈的奇妙魔力“

每日一言 兰有秀兮菊有芳&#xff0c;怀佳人兮不能忘。 —刘彻- 栈 栈的概念及结构 栈(Stack) &#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守…