簡體   English   中英

return語句顯然不返回任何內容

[英]return statement apparently doesn't return anything

下面的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 );

我沒有任何輸出或錯誤。

如果您退貨,則表示它退貨。 現在,您僅調用multiple(),此函數將返回一個值,但您未將其分配為任何值。

如果使用以下命令:

var returnValue = multiply(5, 10)

您的returnValue變量包含乘法函數的返回值。

您沒有任何輸出,因為您沒有做任何事情來生成輸出。 您不會遇到任何錯誤,因為您的代碼中沒有錯誤。 (不使用函數的返回值是可以的;實際上,這很常見。)

僅從函數返回值不會在任何地方輸出它,而只是從函數返回它,因此您可以在調用該函數的代碼中使用它。 您可能會用它做的一件事就是輸出它,但是您也可以將它用於其他用途,例如將其包括在計算中:

 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"> 

除非你不向我們展示所有的代碼,那是因為你沒有返回值任何東西。 返回值的函數需要以某種方式使用該值才能使其可見。 一些示例可能是:

  1. 在另一個方法調用中將其用作參數(例如,將其記錄到控制台):
console.log(multiply(10,20));
  1. 將其設置為變量:
var result = multiply(10,20);
  1. 在另一個邏輯中將其用作值:
document.getElementById("equation").textContent = "10 x 20 = " + multiply(10,20);

如果沒有主動捕獲和/或使用方法的返回值,它將不會在任何地方顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM