Rumah >hujung hadapan web >tutorial js >Bilakah Tanda Kurung Penting dalam Panggilan Fungsi JavaScript?

Bilakah Tanda Kurung Penting dalam Panggilan Fungsi JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-11-25 14:56:11348semak imbas

When Do Parentheses Matter in JavaScript Function Calls?

Kurungan dalam Pengisytiharan Fungsi lwn. Seruan

Dalam JavaScript, perbezaan antara pengisytiharan fungsi dan seruan muncul dalam sintaksnya. Walaupun pengisytiharan fungsi berakhir dengan kurung kurawal, seruan fungsi berakhir dengan kurungan.

Pertimbangkan contoh berikut:

var myFunction = function() {
  setTimeout(myFunction, 1000);
}
myFunction();

Di sini, fungsi setTimeout mengharapkan rujukan fungsi sebagai argumen. Apabila anda menulis myFunction, anda merujuk fungsi itu sendiri. Sebaliknya, myFunction() sebenarnya memanggil fungsi tersebut.

Walaupun ini nampak mudah, terdapat pengecualian. setTimeout juga boleh menerima fungsi yang mengembalikan fungsi, seperti dalam kod berikut:

function myFunction() {
  return function() {
    alert("ohai");
  }
}

// or

const myFunction = () => () => alert("ohai");

Dalam senario ini, setTimeout(myFunction(), 1000) akan:

  1. Panggil fungsi myFunction dan simpan nilai pulangannya.
  2. Dapatkan fungsi yang myFunction dikembalikan.

Ini secara berkesan menjadualkan amaran untuk dipaparkan setiap saat.

Oleh itu, perbezaan utama ialah apabila anda meninggalkan kurungan, anda merujuk objek fungsi itu sendiri. Apabila anda memasukkan kurungan, anda menggunakan fungsi tersebut. Ini terpakai pada pengisytiharan fungsi, seperti var myFunction = function() { ... } dan ungkapan fungsi, seperti const myFunction = () => { ... }.

Atas ialah kandungan terperinci Bilakah Tanda Kurung Penting dalam Panggilan Fungsi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Cangkuk dalam ReactArtikel seterusnya:Cangkuk dalam React