Sawit dari JavaScript mewakili karakter akhir dari sebuah pernyataan, tetapi karena JavaScript memiliki aturan penyisipan titik koma otomatis, itu adalah hal yang sangat mudah untuk membuat orang bingung. Dalam JavaScript, baris baru mungkin atau mungkin tidak dihasilkan. Jadi, bahkan programmer berpengalaman terkadang memiliki kepala besar.
Ada juga penjelasan yang sesuai untuk aturan penyisipan otomatis titik koma dalam ecmascript: pernyataan nol, pernyataan variabel, pernyataan ekspresi, pernyataan do-while, pernyataan melanjutkan, pernyataan break, pernyataan pengembalian, dan pernyataan lemparan. Akhir dari angka. Titik koma ini selalu dapat muncul secara eksplisit dalam teks kode sumber. Untuk kenyamanan, dalam kasus tertentu, titik koma ini dalam teks kode sumber dapat dihilangkan. Dengan kata lain, akhir dari pernyataan ini tidak memerlukan akhir semikolon input keras, dan JavaScript akan secara otomatis memasukkan akhir dari pernyataan.
Jika Anda ingin mengetahui aturan penyisipan ecmascript semikolon otomatis terperinci, Anda dapat melihat tautan berikut:
asli
Terjemahan Cina
Latih kebenaran, lihat contoh -contoh berikut dan Anda akan memahami bahwa penyisipan titik koma otomatis tidak mudah dimengerti. Sedikit perhatian akan membuat Anda merasa kewalahan.
Insiden berdarah yang disebabkan oleh pengembalian
Berikut ini adalah konten yang dikutip: function test () { |
Fungsi yang mengembalikan nilai A+B tidak memiliki masalah pada awalnya, tetapi hasil dari menjalankan peringatan tidak ditentukan. Menurut aturan penyisipan otomatis titik koma, jika ada baris baru setelah pernyataan pengembalian, titik koma akan dimasukkan secara otomatis, dan lebih mudah untuk dipahami jika tidak ada nilai pengembalian. Jika Anda membutuhkan garis baru, Anda dapat melakukan ini:
Berikut ini adalah konten yang dikutip: function test () { (fungsi (){ |
Sangat aneh, tidak bisa menjelaskan, adakah yang bisa memberitahuku ~
Dua titik titik koma di header pernyataan untuk tidak secara otomatis memasukkan titik koma
Berikut ini adalah konten yang dikutip: untuk (var a = 1, b = 10 // titik koma tidak akan dimasukkan secara otomatis |
Ecmascript juga menjelaskan hal -hal di atas: menafsirkan titik koma sebagai pernyataan kosong dan tidak secara otomatis memasukkan titik koma di () dalam pernyataan untuk adalah kasus khusus dan tidak tunduk pada aturan penyisipan otomatis.
Meskipun JavaScript adalah bahasa tipe lemah, aturan penyisipan otomatis titik koma ECMascript sulit dipahami secara menyeluruh. Namun, mengembangkan kebiasaan menulis kode yang baik, memasukkan titik koma secara manual, dan mengembangkan kebiasaan dapat menghindari masalah ini.
Pada saat yang sama, ecmascript juga memberi programmer beberapa saran:
++ atau & mdash;
Ekspresi dalam pernyataan Return atau Throw harus muncul di baris yang sama dengan Return atau Throw.
Tag dalam pernyataan istirahat atau melanjutkan harus muncul di baris yang sama dengan Break atau Lanjutkan.