簡體   English   中英

為什么每次調用function都會執行console.log,而return只執行一次?

[英]Why is “console.log” being executed every time the function is called, but “return” is executed only once?

 function foo() { console.log('always'); return 'once' } foo() foo() foo()

output 看起來像 - 總是總是一次

我想知道在執行過程中會發生什么,以便“總是”被打印三次,但“一次”只被打印(返回)一次。

原因是 JS 控制台總是計算最后一個表達式並將其 output 打印到控制台。 實際上,您的foo() function 在所有 3 個調用中都返回一個值。 這是您最后一次調用foo()會打印到控制台。 要自己看這個,append 代碼末尾的另一個表達式:

function foo(){
  console.log('always');
  return 'once'
}

foo()
foo()
foo()
a = 42

這次您的 output 將是

always
always
always
42

暫無
暫無

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

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