Rumah >hujung hadapan web >tutorial js >Mengapa Penyata `return` JavaScript Gagal dengan Nilai Pulangan pada Baris Baharu?

Mengapa Penyata `return` JavaScript Gagal dengan Nilai Pulangan pada Baris Baharu?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-08 04:20:02526semak imbas

Why Does JavaScript's `return` Statement Fail with a Return Value on a New Line?

Mengapa Penyata Pengembalian Javascript Gagal dengan Nilai Pulangan pada Baris Baharu

Pertimbangkan kod JavaScript di bawah:

<code class="javascript">function correct() {
    return 15;
}

function wrong() {
    return
          15;
}

console.log("correct() called : "+correct());
console.log("wrong() called : "+wrong());</code>

Dalam contoh ini, betulkan () dengan betul mengembalikan 15, manakala wrong() secara tidak jelas mengembalikan tidak ditentukan. Tingkah laku ini berbeza daripada bahasa pengaturcaraan lain. Pelaksanaan alternatif wrong() berikut membetulkan isu:

<code class="javascript">function wrong() {
    return(
          15);
}</code>

Mengapa ini berlaku?

JS jurubahasa secara pilihan menyisipkan koma bertitik pada baris baharu tertentu apabila mereka menganggapnya perlu. Walau bagaimanapun, pertimbangan mereka boleh berbeza daripada yang dimaksudkan.

Apabila pernyataan pemulangan diikuti dengan baris baharu, jurubahasa JS memasukkan koma bertitik selepas penyataan pemulangan. Ini menyebabkan kod fungsi wrong() diubah suai kepada:

<code class="javascript">function wrong() {
    return;
          15;
}</code>

Ini sekarang tidak betul.

Sebaliknya, versi wrong() yang diubah suai dengan kurungan tambahan memulakan ungkapan dengan kurungan terbuka. Jurubahasa JS mengenali perkara ini dan mengelak daripada memasukkan koma bertitik, mengekalkan tingkah laku yang dimaksudkan.

Atas ialah kandungan terperinci Mengapa Penyata `return` JavaScript Gagal dengan Nilai Pulangan pada Baris Baharu?. 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