如何掌握JS中return语句的使用,有哪些要点
Admin 2022-08-22 群英技术资讯 321 次浏览
函数是一个功能集合体,可以实现某些特定的功能或运算。函数运行之后的结果保留在函数内部是没有任何意义的,所以我们需要将函数的运算结果返回到调用函数的地方。
在函数体内,使用 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 语句也可以不返回参数,就相当于结束函数运行;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
本篇文章带大家了解一下Angular中的变更检测,先从一个小的示例入手,然后逐步展开深入聊聊变更检测,希望对大家有所帮助!
这篇文章主要介绍了Echarts 如何实现一张图现切换不同的X轴,通过动图给大家展示效果,实例代码相结合给大家介绍的非常详细,需要的朋友可以参考下
本文主要介绍了在vue中写jsx的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
ES5和ES6中的apply异同在哪?在ES6中,新增了一个全局、内建、不可构造的Reflect对象,而且还提供了其下一系列可被拦截的操作方法。而其中的一个方法就是Reflect.apply(),我们知道ES5中也有apply,那么Reflect.apply()和ES5的Function.prototype.apply()有哪些区别和相同的地方呢?
Vue-loader 是 Webpack 的加载模块,它使我们可以用 Vue 文件格式编写单文件组件。单文件组件文件有三个部分,(模板、脚本和样式)。 vue-loader 模块允许 webpack
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008