簡體   English   中英

無參數調用 function

[英]Calling a function without parameters

我通過反復試驗發現了以下內容。 主要是錯誤。 所以這是愚蠢的提問時間™...

為什么在沒有參數的情況下調用 function 時 Javascript不會出錯? 你為什么要那個?

something // call the function but forgot about the parameters

function something()
{
  // some code here
  alert("Working on it!");
}

因為函數是 Javascript 中的一等成員 - 它們可以像任何表達式一樣被引用。 例如,也許您想將其存儲在另一個變量中:

 function foo() { console.log('foo'); } const anotherReferenceToFoo = foo; anotherReferenceToFoo();

或者,也許您想傳遞function 本身,而不調用它,例如addEventListener

 function foo() { console.log('foo'); } button.addEventListener('click', foo);
 <button id="button">click</button>

setTimeout

 function foo() { console.log('foo'); } setTimeout(foo, 1000);

引用 function 名稱而不調用它是一種非常有用的技術。 沒有它,很多事情都是不可能的。

如果你只有something行,上面沒有其他內容,這不是錯誤,原因與未使用的表達式不是錯誤的原因相同:

 '5'; true; () => 'foo'; console.log('syntax is fine');

如果你想確保不會犯這些錯誤,請考慮安裝 ESLint 並強制執行no-unused-expressions規則。

暫無
暫無

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

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