Struktur leksikal bahasa pengaturcaraan ialah set peraturan asas yang menerangkan cara anda menulis bahasa tersebut. Sebagai asas sintaks, ia menetapkan rupa nama pembolehubah, cara menulis ulasan, dan cara membezakan antara pernyataan. Bahagian ini menggunakan ruang yang sangat singkat untuk memperkenalkan struktur leksikal JavaScript.
1. Set watak
Atur cara Javascript ditulis menggunakan set aksara Unicode, yang merupakan superset ASCII dan Latin-1 serta menyokong hampir semua bahasa di rantau ini. ECMAscript3 memerlukan pelaksanaan javascript mesti menyokong Unicode2,1 dan versi seterusnya, dan ECMAscript5 memerlukan sokongan Unicode3 dan versi seterusnya
i. Sensitif huruf besar/kecil
Javascript ialah bahasa sensitif huruf besar-besaran, yang bermaksud kata kunci, pembolehubah, nama fungsi dan semua aksara ekspresi mestilah dalam huruf besar dan kecil yang konsisten Contohnya, kata kunci while mesti ditulis sebagai while, bukan While atau WHILE.
Tetapi harus diingat bahawa html tidak sensitif huruf besar-besaran (walaupun xhtml adalah kerana ia berkait rapat dengan javascript sisi klien, ia mudah untuk dikelirukan. Contohnya, dalam set peristiwa pemprosesan dalam HTML, atribut onclick boleh ditulis sebagai onClick, tetapi dalam JavaScript, onclick ditulis dalam huruf kecil.
ii Kawalan ruang, baris baharu dan format
Javascript akan mengabaikan ruang antara token dalam program Dalam kebanyakan kes, JavaScript juga akan mengabaikan baris baharu. Memandangkan ruang dan baris baharu boleh digunakan secara bebas dalam kod, lekukan yang kemas dan konsisten boleh digunakan untuk membentuk gaya pengekodan bersatu dan meningkatkan kebolehbacaan kod.
Javascript mengenali aksara ruang (u0020) sebagai tambahan kepadanya. JavaScript juga mewakili aksara berikut yang menandakan ruang: tab mendatar (u0009), tab menegak (u000B), suapan borang (u000C), ruang kosong tanpa putus (u00A0), tanda endian (uFEFF) dan Semua aksara kategori Zs dalam Unicode. JavaScript mengenali aksara berikut sebagai penamat: suapan baris (u000A), pemulangan pengangkutan (u000D), pemisah baris (u2028) dan pemisah perenggan (u2029). Aksara pemulangan pengangkutan dan aksara suapan baris bersama-sama dihuraikan menjadi satu penamat baris.
Aksara kawalan format Unikod (kelas Cf), seperti "tanda tulisan kanan ke kiri" (u200F) dan "tanda tulisan kiri ke kanan" (u200E), kawal paparan visual teks. Ini penting untuk paparan yang betul bagi beberapa teks bukan bahasa Inggeris. Aksara ini boleh digunakan dalam ulasan JavaScript, literal rentetan dan literal ungkapan biasa, tetapi bukan dalam pengecam (contohnya, nama pembolehubah , dengan pengecualian lebar sifar). penyambung (u200D) dan bukan penyambung lebar sifar (uFEFF), iaitu aksara tangan yang boleh muncul dalam pengecam tetapi tidak boleh digunakan sebagai pengecam. Seperti yang dinyatakan di atas, aksara kawalan format tanda pesanan bait (uFEFF) dianggap sebagai ruang
iii.Urutan melarikan diri Unikod
Dalam sesetengah perkakasan dan perisian komputer, set penuh aksara Unicode tidak boleh dipaparkan atau dimasukkan. Untuk menyokong pengaturcara yang menggunakan teknologi lama, JavaScript mentakrifkan urutan khas yang menggunakan 6 aksara ASCII untuk mewakili sebarang kod dalaman Unicode 16-bit. Urutan melarikan diri Unicode ini diawali dengan u diikuti dengan tetikus heksadesimal (diwakili menggunakan nombor dan huruf besar dan kecil A-F). Kaedah penulisan melarikan diri Unicode ini boleh digunakan dalam literal rentetan JavaScript, ungkapan biasa dan pengecam (kecuali kata kunci). Sebagai contoh, kaedah penulisan melarikan diri Unicode bagi aksara ialah u00E9, dan dua rentetan Javascript berikut adalah sama.
"kafe" === "cafu00e9" => benar
Tulisan melarikan diri Unicode boleh muncul dalam ulasan, tetapi memandangkan JavaScript mengabaikan ulasan, ia hanya dianggap sebagai aksara ascii dalam konteks dan tidak akan diikuti oleh aksara Unicode yang sepadan
iiii penyeragaman
Unicode membenarkan berbilang kaedah untuk mengekod aksara yang sama. Sebagai contoh, aksara é boleh menggunakan aksara Unicode u00E9, atau aksara ascii biasa e diikuti dengan simbol intonasi u0301 Dalam editor teks, hasil yang dipaparkan oleh kedua-dua pengekodan ini adalah sama, tetapi perwakilan pengekodan binari mereka adalah berbeza. Perkara yang sama berlaku dalam komputer. Standard Unicode mentakrifkan format kod pilihan untuk aksara indeks dan menyediakan kaedah pemprosesan piawai untuk menukar teks kepada format standard yang sesuai untuk perbandingan. Ia tidak akan menyeragamkan perwakilan, rentetan atau ungkapan biasa.
2. Nota
Javascript menyokong dua kaedah ulasan Teks selepas penghujung baris "//" akan diabaikan oleh JavaScript sebagai ulasan.
Selain itu, teks antara /* dan */ juga akan dianggap sebagai ulasan. Ulasan jenis ini boleh ditulis merentas baris, tetapi tidak boleh ada ulasan bersarang.
//Ulasan baris tunggal
/*
*
*
*
*/
3. Pengukuran langsung
Apa yang dipanggil literal ialah nilai data yang digunakan secara langsung dalam program Kuantiti literal disenaraikan di bawah
{x:1,y:2} //Objek
[1,2,3,4,5] //Array
4. Pengecam dan perkataan terpelihara
Pengecam ialah nama. Dalam JavaScript, pengecam digunakan untuk menamakan pembolehubah dan fungsi, atau untuk menandakan lokasi lompatan dalam pernyataan gelung tertentu dalam kod JavaScript. Pengecam JavaScript mesti bermula dengan huruf. Mulakan dengan garis bawah atau tanda dolar. Aksara seterusnya boleh menjadi huruf. nombor. Garis bawah atau tanda dolar (nombor tidak dibenarkan muncul sebagai huruf pertama, JavaScript boleh membezakan pengecam dan nombor dengan mudah), berikut ialah pengecam sah
perkataan simpanan javascript
kelas const enum eksport
eksport melanjutkan import super
Selain itu, kata kunci ini adalah sah dalam javascript biasa, tetapi adalah perkataan terpelihara dalam mod ketat
melaksanakan membiarkan awam swasta menghasilkan pakej antara muka
statik dilindungi
Dalam mod ketat yang sama, sekatan ketat diletakkan pada pengecam berikut, tetapi nama pembolehubah, nama parameter dan nama fungsi tidak boleh digunakan.
hujah eval
Pelaksanaan khusus JavaScript mungkin mentakrifkan pembolehubah dan fungsi global yang unik Setiap pelayan persekitaran (klien) berjalan JavaScript tertentu, dsb. mempunyai senarai atribut globalnya sendiri, yang perlu diingat. (objek tetingkap untuk memahami pembolehubah global dan senarai fungsi yang ditakrifkan dalam javascript klien)
5. Koma bertitik pilihan
Seperti kebanyakan bahasa pengaturcaraan, JavaScript menggunakan koma bertitik (;) untuk memisahkan pernyataan. Ini sangat penting untuk meningkatkan kebolehbacaan dan kekemasan kod Penghujung satu pernyataan menjadi permulaan pernyataan seterusnya tanpa pemisah, dan sebaliknya.
Dalam JavaScript, setiap pernyataan berada pada barisnya sendiri dan koma bernoktah antara pernyataan biasanya boleh diabaikan (koma bernoktah sebelum pendakap kerinting "}" pada penghujung program juga boleh diabaikan). Banyak pengaturcara JavaScript (termasuk contoh kod dalam buku ini) menggunakan titik koma bertitik untuk menandai penghujung pernyataan dengan jelas, walaupun koma bertitik tidak diperlukan dengan tepat gunakan koma bertitik hanya apabila anda perlu. Tidak kira gaya pengaturcaraan anda, terdapat beberapa butiran yang perlu diberi perhatian tentang JavaScript.
Dalam kod berikut, koma bertitik pertama boleh diabaikan
a=3;
b=4;
Tetapi jika ia ditulis dalam format berikut, koma bertitik pertama tidak boleh ditinggalkan.
a=3;b=4;
Perlu diingatkan bahawa JavaScript tidak mengisi koma bertitik pada semua pemisah baris: JavaScript akan mengisi koma bertitik hanya apabila kod tidak boleh dihuraikan secara normal tanpa koma bertitik Dengan kata lain (sama dengan dua tempat dalam kod di bawah) Pengecualian). jika penyataan semasa dan aksara bukan ruang seterusnya tidak dapat dihuraikan secara keseluruhan, JavaScript akan mengisi koma bernoktah pada penghujung penyataan semasa, lihat kod berikut
var a
a
=
3
console.log(a)
javascript menghuraikannya sebagai
var a;a=3;console.log(a);
JavaScript menambah koma bertitik pada baris pertama Tanpa koma bertitik, JavaScript tidak boleh menghuraikan var a dalam kod. A kedua boleh dianggap sebagai pernyataan berasingan "a;", tetapi JavaScript tidak mengisi koma bernoktah pada penghujung baris kedua. Kerana ia boleh dihuraikan menjadi "a=3;" bersama baris ketiga kandungan.
var y = x f
(a b).toString()
Tanda kurung dalam baris kedua dan f dalam baris pertama membentuk panggilan fungsi JavaScript akan menganggap kod ini sebagai
Jelas sekali ini bukan niat kod Untuk menghuraikan kod di atas kepada dua penyataan berbeza, koma bertitik paparan tingkah laku mesti diisi secara manual
Contohnya
kembali
benar;
Dan javascript dihuraikan menjadi
kembali; sifat;
kembali benar;
Contoh kedua melibatkan operator --, simbol ungkapan ini boleh mewakili awalan dan akhiran untuk ungkapan pengecam. Jika ia digunakan sebagai ungkapan akhiran, maka ia digunakan sebagai ungkapan akhiran. Ia dan ungkapan harus dilihat pada satu baris. Jika tidak, hujung baris akan dilapisi dengan koma bertitik.