Rumah  >  Artikel  >  hujung hadapan web  >  Pengenalan terperinci kepada mekanisme penyisipan koma bertitik dalam pengetahuan JavaScript_Basic

Pengenalan terperinci kepada mekanisme penyisipan koma bertitik dalam pengetahuan JavaScript_Basic

WBOY
WBOYasal
2016-05-16 16:14:351189semak imbas

dimasukkan

hanya sebelum }, selepas satu atau lebih baris baharu dan pada penghujung input program

Ini bermakna anda hanya boleh meninggalkan koma bertitik di hujung baris, blok kod dan atur cara.

Maksudnya, anda boleh menulis kod berikut

Salin kod Kod adalah seperti berikut:

fungsi segi empat sama(x) {
var n = x
Kembalikan n * n
}

Tetapi anda tidak boleh menulis kod seperti berikut, jika tidak, ralat akan dilaporkan
Salin kod Kod adalah seperti berikut:

kawasan fungsi(r) { r = r return Math.PI*r*r }//error

Sisipkan

hanya jika teg input berikutnya tidak boleh dihuraikan

Dalam erti kata lain, sisipan koma bertitik ialah mekanisme pembetulan ralat. Lihat kod dan cakap

Salin kod Kod adalah seperti berikut:

a = b
(f())
//Boleh dihuraikan dengan betul ke dalam satu penyata Harga unit ialah penyataan berikut
a = b(f())

a = b
f()
//Dihuraikan menjadi dua pernyataan bebas
a = bf();//Ralat dalam analisis

Jadi, anda perlu memberi perhatian kepada permulaan pernyataan seterusnya untuk menentukan sama ada anda boleh meninggalkan koma bernoktah secara sah.

(, [, , -, dan / Lima aksara ini memulakan penyataan, maka sebaiknya jangan tinggalkan koma bertitik di hadapan.

Beri saya contoh

Salin kod Kod adalah seperti berikut:

a = b
['r', 'g', 'b'].forEach(fungsi (kunci) {
console.log(key);
});

Pada asalnya anda menyangka tiada ralat, tetapi penghurai menghuraikannya ke dalam pernyataan berikut
Salin kod Kod adalah seperti berikut:

a = b['r', 'g', 'b'].forEach(fungsi (kunci) {
console.log(key);
});

Oleh kerana pernyataan kedua bermula dengan [, penghurai tidak akan secara automatik memasukkan koma bertitik selepas pernyataan pertama, jadi ia dihuraikan seperti yang ditunjukkan di atas Formula di atas dihuraikan sebagai b['b'].forEach Bukankah salah?

Jadi untuk ayat yang bermula dengan lima aksara ini (, [, , -, dan / , sebaiknya jangan tinggalkan koma bertitik di hadapan.

Jika anda ingin menghilangkan koma bertitik, pengaturcara yang berpengalaman akan mengikuti pernyataan ini dengan pernyataan pengisytiharan untuk memastikan penghurai menghuraikannya dengan betul. Seperti yang ditunjukkan di bawah

Salin kod Kod adalah seperti berikut:

a = b
var x//Pernyataan pengisytiharan ditambahkan khas di sini untuk memastikan bahawa a = b tidak akan dihuraikan bersama dengan (f())
(f())

Jadi jika anda perlu meninggalkan koma bernoktah, anda mesti menyemak sama ada tanda mula bagi baris seterusnya ialah lima aksara di atas, yang akan menyebabkan penghurai menyahdayakan sisipan automatik koma bertitik, atau anda juga boleh menggunakan lima aksara (, [, , -, dan / Awali dengan koma bertitik

Mengabaikan titik bertitik menyebabkan masalah sambungan skrip

Salin kod Kod adalah seperti berikut:

//file1.js
(fungsi () {
//......
})()

//file2.js
(fungsi () {
//......
})()

Apabila dua fail di atas disambungkan, ia akan dihuraikan seperti berikut

Salin kod Kod adalah seperti berikut:

(fungsi () {
//......
})()(fungsi () {
//......
})()

Jadi, meninggalkan koma bertitik memerlukan anda berhati-hati bukan sahaja terhadap token seterusnya dalam fail semasa, tetapi juga terhadap sebarang token yang mungkin muncul selepas pernyataan selepas skrip digabungkan.

Untuk mengelakkan ralat penghuraian penghuraian, anda boleh awalan setiap fail dengan koma bertitik tambahan untuk melindungi skrip daripada penggabungan yang cuai. Jika pernyataan pertama dalam fail dibuka dengan lima aksara rapuh yang dinyatakan di atas, anda harus menambah awalan koma bertitik tambahan.

Pengeluaran sekatan sintaks JavaScript

Sintaks JavaScript mengehadkan pengeluaran: tiada pemisah baris dibenarkan antara dua aksara.

Contoh:

Salin kod Kod adalah seperti berikut:

kembali
{};

Kod di atas dihuraikan menjadi
Salin kod Kod adalah seperti berikut:

kembali;
{}
;

Peraturan sisipan koma bertitik untuk operasi kenaikan automatik dan penurunan automatik

Salin kod Kod adalah seperti berikut:

a

b

Fikirkanlah, apakah kod di atas akan dihuraikan? Beritahu saya jawapannya, kerana pengendali kenaikan boleh digunakan sebagai pengendali awalan dan pengendali postfix, tetapi pengendali postfix tidak boleh muncul sebelum baris baharu, jadi kod di atas dihuraikan menjadi
Salin kod Kod adalah seperti berikut:

a;
b;

Koma bertitik tidak akan dimasukkan secara automatik sebagai pemisah di kepala pernyataan gelung kosong untuk

Salin kod Kod adalah seperti berikut:

untuk (var i = 0,jumlah=1
i < panjang
i ) {
jumlah*=i;
}

Ralat penghuraian akan berlaku dalam kod seperti di atas.

Sementara badan gelung kosong juga perlu memaparkan koma bertitik, jika tidak, ia juga akan menyebabkan ralat penghuraian

Salin kod Kod adalah seperti berikut:

function mytest() {
Walaupun (benar)
}

Ia mesti ditulis seperti berikut untuk mengelakkan ralat
Salin kod Kod adalah seperti berikut:

function mytest() {
Sedangkan (benar) ;
}

Untuk meringkaskan

1. Koma bertitik disimpulkan hanya sebelum tanda }, pada akhir baris dan pada akhir program
2. Titik bertitik
disimpulkan hanya jika tag berikut tidak boleh dihuraikan 3. Koma bertitik
tidak boleh ditinggalkan sebelum penyataan bermula dengan (, [, , -, dan / aksara 4. Apabila memautkan skrip, masukkan titik bertitik
secara eksplisit di antara skrip 5. Jangan sekali-kali memutuskan garisan sebelum parameter pulangan, balingan, putus, teruskan atau --
6. Titik koma tidak boleh disimpulkan sebagai kepala gelung for atau pembatas pernyataan kosong

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