javascript 返回值 函数-JavaScript 返回语句

2023-08-26 0 4,949 百度已收录

1. 基本概念

1.1 语句函数

return 语句用于中止函数的执行并向函数的调用者返回返回值。 因此,函数中必须包含return语句; 否则,程序将会失败。 如果没有为其返回值指定return语句,那么它默认为未定义。

如果函数中没有显式写出return语句,那么当函数执行时,JavaScript会在函数执行流程的末尾手动添加一个不指定返回值的return语句。 return语句也可以加在函数的末尾javascript 返回值 函数,一般用于满足某种条件时提前退出函数。

1.2 语法结构

return语句的句子结构如下:

返回[表达式];

where表达式可以是JavaScript中任意合法的表达式,它的估计结果就是return语句的返回值,当函数终止时会返回给函数的调用者。 如果省略表达式,则返回语句的返回值默认为undefined。

如果要显式指定表达式javascript 返回值 函数,必须与return关键字写在同一行,即它们之间不能有换行符。 否则,JavaScript 会在 return 关键字前面手动添加分号。 此时,return语句似乎是一个没有指定返回值的return语句,并且return语句之后的表达式永远不会被执行。

2. 示例

2.1 指定返回值

示例代码2.1-1

上述代码的执行结果如下图所示。 我们用左值9调用函数twice(),它在返回结果之前计算9的值的两倍,然后返回值被参数化为变量value1。 第10行的代码复制了value1的值,可以看到它的值确实是18。

本例中的twice()函数还可以缩写为以下方式,即将计算两次的表达式包含在返回语句中,并直接返回其结果。 这样就不需要声明一个变量来临时存储估计结果,然后使用return语句返回该变量。

示例代码2.1-2

javascript 返回值 函数-JavaScript 返回语句

2.2 省略返回值

示例代码2.2

从右图的执行结果中,我们可以看到字符串“execute function abc()”。 首先被复制,说明函数abc()确实被执行了。 从第10行代码复制过来的变量value2的值是未定义的,这是return语句的默认返回值。

2.3 省略return语句

示例代码2.3

下图的执行结果表明,本例的执行结果与前面反例的执行结果一模一样(只不过变量名为value3)。 该示例的成功执行表明,当函数执行流程的最后一句是返回语句且未显式指定返回值时,可以省略返回语句。

当函数执行流程末尾没有return语句时,JavaScript会在执行流程末尾手动添加一个没有返回值的return语句。 当然,函数的返回值是未定义的。

2.4 return语句不能在函数之外

示例代码2.4

上述代码的执行结果如下图所示。 我们可以看到浏览器明确强调第3行的return语句是错误的。

2.5 提前终止功能

return语句不一定是函数的最后一句,也可以在函数的上方或中间,以提前终止函数的执行。 示例代码如下:

javascript 返回值 函数-JavaScript 返回语句

示例代码2.5

我们使用左值0来调用函数opposite()。 当形参为0时,将执行if语句中的代码。 它首先复制字符串“0的相反是它自己。”,然后遇到这句话return 0;。 这个return语句提前终止了函数的执行并返回0。因此,无论是if语句之前的复制语句还是return -x; 将被执行。 下图的执行结果证明了这个执行过程的合理性。

这个例子也说明了一个函数可以包含多个return语句,用于根据不同的情况退出函数。

2.6 自动添加分号

示例代码2.6-1

本例的执行结果如下图所示。 可以看到,第11行复制出来的变量value5的值是未定义的,不是我们期望的数字18。 进展如何?

这个例子和第一种情况唯一的区别是我们把return语句分成了两行,return关键字和它的返回值结果写在不同的行上。 在其他编程语言或者JavaScript的其他一些单词和句子中,这样的分行不会对原始程序产生任何影响。

但 JavaScript 的 return 语句是一个例外。 在本文开头我们说过,如果 return 关键字与其返回值之间有换行符,JavaScript 会手动在 return 关键字后面插入一个分号。 这时,返回语句的含义与我们预想的不同。

以这种方式手动插入分号的结果将使本例中的 times() 函数实际上等同于下面的代码。 此时,无论传递多少个参数,return语句都会提前终止函数并默认返回undefined,而变量result永远不会被返回。

示例代码2.6-2

如果确实想将 return 语句放在多行中,可以将返回值括在括号中。 但请注意,左括号也必须与return关键字写在同一行,就像下面的代码:

示例代码2.6-3

(超过)

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 javascript javascript 返回值 函数-JavaScript 返回语句 https://www.wkzy.net/game/162430.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务