JavaScript 在函数中是否必须有返回值
在本文中,我们将解决一个问题,即在JavaScript函数中是否必须使用返回语句。
示例: 看这个简单的JavaScript函数,它使用了一个返回语句,就像其他语言中的函数一样。
Javascript
function add_and_multiply(a, b) {
return ((a+b) + (a*b));
}
let sol = add_and_multiply(5, 10);
console.log(sol);
输出
65
但是如果我们在这个函数中没有使用返回语句会发生什么呢?
Javascript函数没有返回语句: 在Javascript中,在函数内部使用返回语句是可选的。如果需要的话,你可以选择不使用它,程序仍然可以正常运行。让我们看一些例子来了解它的工作原理。
示例1: 下面的代码与之前的代码相同,只是我们从函数add_and_multiply中删除了返回语句。
Javascript
function add_and_multiply(a, b) {
// Removed the return statement
}
let sol = add_and_multiply(5, 10);
console.log(sol);
输出
undefined
可以看到这一次,尽管没有返回语句,我们仍然没有得到错误,相反地,在屏幕上打印出了这个术语“undefined”。这就是在JavaScript函数中尝试省略返回语句时会发生的情况。
示例2: 在上面的示例中,尽管输出结果不理想,但仍比错误要好。然而,也有解决办法。
注意: 在示例中,我们在调用函数时移除了变量sol。我们还在函数内部添加了一个表达式进行计算。但是仍然没有得到错误或其他任何输出。请注意,我们添加这个表达式只是为了简单地显示,如果没有返回语句,不管函数内部有什么内容,都不会返回任何输出。您可以省略添加这个表达式,仍然会得到相同的输出。
Javascript
function add_and_multiply(a, b) {
// Added an expression here
var ans = ((a + b) + (a * b));
}
// Removed the variable sol
add_and_multiply(5, 10);
console.log(sol);
输出:
Nothing is printed except this!
示例3: 更好的解决这种情况的方法是在函数内部添加一个打印语句来打印计算结果。这样,函数将执行一些有用的操作,我们仍然不需要使用return语句。
JavaScript
// Removed the variable sol
add_and_multiply(5, 10);
// console.log(sol);
function add_and_multiply(a, b) {
// Added an expression here
var ans = ((a + b) + (a * b));
// Print the variable
console.log(ans);
}
输出
65
这基本上是我们在JavaScript函数中选择使用或舍弃return语句的方式。