Latar Belakang:
NetBeans, penyunting kod, menjana ulasan secara automatik untuk fungsi Javascript. Ia termasuk teg @returns dengan jenis pulangan {undefined} walaupun fungsi itu tidak mempunyai pernyataan pulangan yang jelas. Ini menimbulkan persoalan sama ada semua fungsi Javascript mesti mengembalikan nilai tertentu.
Jawapan:
Secara Teknikal Ya:
Walaupun nampaknya fungsi tanpa penyataan pulangan eksplisit tidak mengembalikan apa-apa, enjin Javascript itu sendiri memerlukan setiap fungsi mengembalikan nilai untuk menunjukkan penyempurnaan pelaksanaannya. Jika tiada pernyataan pulangan, fungsi secara tersirat akan kembali tidak ditentukan.
Nilai Pulangan Eksplisit:
Menyatakan nilai pulangan secara eksplisit, seperti pulangan palsu, adalah tidak diperlukan melainkan jika nilai yang dikembalikan bertujuan untuk digunakan. Dalam erti kata lain, pernyataan palsu pulangan adalah berlebihan untuk fungsi yang tidak perlu mengembalikan nilai yang bermakna.
Nilai Pulangan Tersirat:
Fungsi tanpa pernyataan pulangan yang jelas secara tersirat kembali tidak ditentukan. Ini jelas apabila IIFE (Ungkapan Fungsi Segera Dikenakan) mengembalikan tidak ditentukan, tetapi nilai pulangan biasanya diabaikan.
Mengapa Fungsi Perlu Dikembalikan?
Pada suatu tahap rendah, pernyataan pulangan memulakan arahan lompat. Jika fungsi tidak mengembalikan apa-apa, ia akan mewujudkan kesamaran mengenai fungsi atau pengendali acara seterusnya yang akan dipanggil.
Kesimpulan:
Walaupun fungsi Javascript mungkin kelihatan berfungsi tanpa pernyataan pulangan, enjin Javascript secara tersirat mengembalikan tidak ditentukan untuk fungsi tersebut. Oleh itu, menambah pernyataan palsu pulangan tidak diperlukan melainkan fungsi tersebut memerlukan nilai pulangan tertentu.
Atas ialah kandungan terperinci Adakah Fungsi Javascript Sentiasa Mengembalikan Nilai atau Tidak Ditakrifkan Tersirat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!