JavaScript函数返回值和return语句
函数是一个功能集合体,可以实现某些特定的功能或运算。函数运行之后的结果保留在函数内部是没有任何意义的,所以我们需要将函数的运算结果返回到调用函数的地方。
在函数体内,使用 return 语句可以设置函数的返回值;return 语句通常在函数的末尾定义。语法格式:
return 返回值;
其中,“返回值”为一个可选参数,可以是一个具体的值或者表达式,也可以为空。“返回值”与 return 关键字之间需要使用空格分隔。
JavaScript 是一种弱类型语言,所以函数对接收和输出的值都没有类型限制,JavaScript 也不会自动检测输入和输出值的类型。因此,返回值(表达式结果)可以是任何类型,例如数组、对象、字符串等。
-
对于有返回值的函数,我们可以会使用一个变量来接收这个函数的返回值,示例代码如下:
//声明一个带返回值的函数
function getSum(num1, num2){
//函数体
return num1 num2;
}
//可以通过变量来接收这个返回值
var sum1 = getSum(7, 12); // 函数返回值为:19
var sum2 = getSum(-5, 33); // 函数返回值为:28
-
如果函数不包含 return 语句,则执行完函数体内每条语句后,返回
undefined
值。
-
在函数中,一旦执行完成“return”语句,那么整个函数就结束了,后续语句将不再执行;然后运算和返回 return 后面的表达式的值。
-
“return”之后的值只能有一个。如果尝试返回多个值,那得到的结果始终是最后一个值
return 语句只能返回一个参数,即只能返回一个值,不能一次返回多个值。如果要返回多个值的话,就需要在函数中定义一个数组,将返回值存储在数组中返回。
function division(dividend, divisor){
var quotient = dividend / divisor;
var arr = [dividend, divisor, quotient]
return arr;
}
var res = division(100, 4)
console.log(res[0]); // 输出:100
console.log(res[1]); // 输出:4
console.log(res[2]); // 输出:25
在上面代码中,函数返回值为数组,该数组包含 3 个元素,从而实现使用一个 return 语句,返回多个值得目的。
-
在函数体内可以包含多条 return 语句,但是仅能执行一条 return 语句,因此在函数体内可以使用分支结构决定函数返回值,或者使用 return 语句提前终止函数运行。
function f(x,y) {
//如果参数为非数字类型,则终止函数执行
if (typeof x != "number" || typeof y != "number") return;
//根据条件返回值
if (x > y) return x - y;
if (x < y) return y - x;
if (x * y <= 0) return x y;
}
console.log(f(1,6));
console.log(f(4,2));
console.log(f(0,0));
总结:
-
return 语句用于向“调用函数者”返回一个值,返回值后,立即结束函数运行,所以 return 语句一般都放在函数的末尾;
-
如果一个函数中存在多个 return 语句,则只会执行第 1 个;
-
return 语句也可以不返回参数,就相当于结束函数运行;
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tangbhjge
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01