Rumah > hujung hadapan web > tutorial js > Apakah yang dilakukan oleh Tanda Seru (!) dalam Ungkapan Fungsi JavaScript?

Apakah yang dilakukan oleh Tanda Seru (!) dalam Ungkapan Fungsi JavaScript?

Barbara Streisand
Lepaskan: 2024-12-27 06:54:09
asal
617 orang telah melayarinya

What Does the Exclamation Mark (!) Do in a JavaScript Function Expression?

Menyingkap Tujuan Tanda Seru dalam Ungkapan Fungsi

Dalam JavaScript, apabila melaksanakan kod, menemui tanda seru (!) sebelum sesuatu fungsi boleh menimbulkan beberapa persoalan. Mari kita mendalami fungsinya dan peranannya dalam sintaks.

Sintaks JavaScript menentukan bahawa fungsi yang diisytiharkan dalam bentuk "function foo() {}" ialah pengisytiharan fungsi dan memerlukan invocation untuk dilaksanakan. Walau bagaimanapun, pra-memproses pengisytiharan fungsi dengan tanda seru (!) mengubahnya menjadi ungkapan fungsi, yang boleh diikuti dengan kurungan untuk memanggil fungsi dengan serta-merta.

Kod "!function foo() {}() " pada mulanya mungkin kelihatan berlebihan, kerana ia mengisytiharkan fungsi tetapi juga melaksanakannya. Walau bagaimanapun, tanda seru mempunyai dua tujuan di sini:

  • Penukaran kepada Ungkapan: Ia menukarkan pengisytiharan fungsi kepada ungkapan fungsi.
  • Tersirat Seruan: Apabila diikuti dengan kurungan, tanda seru memanggil fungsi, menghapuskan keperluan untuk seruan eksplisit.

Walaupun pada asasnya adalah helah sintaksis, teknik ini membenarkan sintaks ringkas untuk ungkapan fungsi yang dipanggil serta-merta (IIFE). Bentuk kod yang lebih jelas ialah: "(function(){})();"

Akhir sekali, tanda seru juga menilai nilai pulangan fungsi dan memaksanya menjadi boolean. Memandangkan IIFE lazimnya tidak memulangkan nilai secara eksplisit, ia mengembalikan nilai yang tidak ditentukan, yang dipaksa kepada benar oleh tanda seru. Hasil boolean ini tidak digunakan secara umum.

Atas ialah kandungan terperinci Apakah yang dilakukan oleh Tanda Seru (!) dalam Ungkapan Fungsi JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan