Javascript: Mengapa Kembalikan Penyata pada Baris Baharu Tidak Berfungsi?
Dalam JavaScript, penyataan pulangan digunakan untuk mengembalikan nilai daripada fungsi. Walau bagaimanapun, tingkah laku yang tidak dijangka boleh berlaku apabila nilai pulangan diletakkan pada baris baharu. Mari kita teliti mengapa ini berlaku.
Untuk menggambarkan isu ini, pertimbangkan kod berikut:
<code class="javascript">function correct() { return 15; } function wrong() { return 15; }</code>
Dalam fungsi correct(), pernyataan return 15 berada pada satu baris. Menjalankan fungsi ini akan mengembalikan nilai yang dijangkakan, 15. Walau bagaimanapun, fungsi wrong() mempunyai penyataan pulangan diikuti dengan baris baharu. Melaksanakan fungsi ini mengembalikan tidak ditentukan dan bukannya 15.
Anehnya, pelaksanaan wrong() berikut berfungsi dengan betul:
<code class="javascript">function wrong() { return( 15); }</code>
Ini menunjukkan bahawa sintaks tidak salah, jadi mengapa yang pertama salah () pelaksanaan gagal?
Memahami Peranan Koma bertitik
Dalam JavaScript, koma bertitik adalah pilihan. Walau bagaimanapun, jurubahasa memasukkannya secara automatik pada aksara baris baharu tertentu yang difikirkan perlu. Dalam kes pelaksanaan wrong() yang pertama, baris baharu selepas pulangan mencetuskan sisipan koma bertitik.
Kod yang terhasil kelihatan seperti ini:
<code class="javascript">function wrong() { return; 15; }</code>
Ini adalah salah, kerana penyataan kembali kini diikuti dengan ungkapan (15), yang tidak dibenarkan.
Kurungan untuk Menyelamat
Dalam pelaksanaan salah() kedua, kurungan ( ) melampirkan ungkapan pulangan 15 menghalang jurubahasa daripada memasukkan koma bertitik. Sebaliknya, ungkapan itu kekal utuh, menghasilkan nilai pulangan yang betul.
Oleh itu, dalam JavaScript, apabila menggunakan pernyataan pulangan, pastikan ia berada pada satu baris tanpa sebarang ungkapan berikutnya. Jika perlu, gunakan tanda kurung untuk mengawal gelagat sisipan koma bertitik dan mencapai nilai pulangan yang diingini.
Atas ialah kandungan terperinci Mengapa Baris Baharu Selepas `return` dalam JavaScript Menyebabkan `undefined` Dikembalikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!