return语句显然不返回任何内容

时间:2019-05-21 17:53:28

标签: javascript

下面的return语句不输出任何内容或错误,无论出于什么原因?

我尝试了Chrome,Firefox和repl.it。

这是我的代码:

//Create a function that uses a return statement
    function multiply(num1, num2){
     return num1 * num2;
    }
    //Call the function
    multiply(10,20 );

我没有任何输出或错误。

3 个答案:

答案 0 :(得分:1)

如果您返回某些内容,则表示它返回了某些内容。现在,您只需调用multiple(),此函数将返回一个值,但您将其分配为空。

如果使用以下内容:

var returnValue = multiply(5, 10)

您的returnValue变量包含乘法函数的返回值。

答案 1 :(得分:1)

您没有任何输出,因为您没有做任何事情来生成输出。您不会遇到任何错误,因为您的代码中没有错误。 (不使用函数的返回值是可以的;实际上,这很常见。)

仅从函数返回值不会在任何地方输出它,而只是从函数返回它,因此您可以在调用该函数的代码中使用它。您可能会用它做的一件事就是输出它,但也可能将它用于其他用途,例如将其包括在计算中:

function multiply(num1, num2){
     return num1 * num2;
}

// Using the return value to output it:
console.log(multiply(2, 3));

// Using it in another calcuation...
const x = multiply(2, 3) + 4;
// ...the result of which we might output if we like:
console.log(x);

但是同样,您可能永远不会输出函数的结果。例如,此代码使用函数document.getElementById的结果来设置事件处理程序。这样做根本没有输出:

let clickCounter = 0;

document.getElementById("btn").addEventListener("click", function() {
    ++clickCounter;
});
<input type="button" value="Click Me" id="btn">

答案 2 :(得分:1)

除非您没有向我们展示所有代码,否则是因为您没有将值 返回给 。返回值的函数需要以某种方式使用该值才能使其可见。一些示例可能是:

  1. 在另一个方法调用中将其用作参数(例如,将其记录到控制台):
console.log(multiply(10,20));
  1. 将其设置为变量:
var result = multiply(10,20);
  1. 在另一个逻辑中将其用作值:
document.getElementById("equation").textContent = "10 x 20 = " + multiply(10,20);

在没有主动捕获和/或使用方法的返回值的情况下,它将不会在任何地方显示。