[英]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">
除非你不向我們展示所有的代碼,那是因為你沒有返回值的任何東西。 返回值的函數需要以某種方式使用該值才能使其可見。 一些示例可能是:
console.log(multiply(10,20));
var result = multiply(10,20);
document.getElementById("equation").textContent = "10 x 20 = " + multiply(10,20);
如果沒有主動捕獲和/或使用方法的返回值,它將不會在任何地方顯示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.