Rumah > hujung hadapan web > tutorial js > Mengapa Saya Mendapat 'Ralat Sintaks Tidak Dijangka: Token tidak dijangka HARAM' dalam Kod JavaScript Saya?

Mengapa Saya Mendapat 'Ralat Sintaks Tidak Dijangka: Token tidak dijangka HARAM' dalam Kod JavaScript Saya?

Patricia Arquette
Lepaskan: 2024-12-06 08:59:10
asal
653 orang telah melayarinya

Why Am I Getting

Tiada Punca Kelihatan untuk "Token Tidak Dijangka HARAM"

Setelah menghadapi ralat JavaScript "Ralat Sintaks Tidak Dijangka: Token Tidak Dijangka HARAM," reaksi awal mungkin kekurangan sebab yang dapat dilihat, terutamanya untuk kod yang kelihatan mudah seperti "var foo = 'bar';".

Sumber Ralat

Apabila kod JavaScript dihuraikan, ia terbahagi kepada "token," dan sebarang token yang tidak boleh dikategorikan ke dalam empat jenis asas menerima label "HARAM". Ralat ini juga boleh timbul daripada aksara yang salah letak atau unsur sintaksis yang hilang, seperti simbol sesat @, pendakap tidak seimbang, petikan yang tidak betul dan sebagainya.

Watak Haram Tidak Nampak

Dalam kes di mana sintaks kelihatan sah, penyebabnya mungkin watak yang tidak kelihatan: ruang Unicode Zero-width (ZWSP, atau U 200B), dilambangkan sebagai ​. Watak ini biasanya menyebabkan ralat "Token yang tidak dijangka HARAM", yang berasal daripada sumber seperti jsfiddle, yang telah diketahui membenamkan ZWSP untuk mengawal pembungkusan perkataan.

Mengenal pasti Watak Halimunan

Untuk mengesan ZWSP, dayakan paparan aksara yang tidak kelihatan dalam editor anda. Dalam Vim, sebagai contoh, ia ditunjukkan sebagai . Alat penyahpepijatan dalam talian seperti jsbin dan CodePen menyerlahkannya sebagai titik merah.

Isu Berkaitan

ZWSP berfungsi untuk tujuan yang sah, membolehkan kawalan pembalut baris yang tepat. Walau bagaimanapun, kehadirannya juga boleh memperkenalkan masalah lain, seperti:

  • Rentetan kosong yang tidak benar-benar kosong disebabkan ZWSP tersembunyi
  • Ruang putih yang tidak dijangka pada halaman web
  • Penggayaan yang salah disebabkan oleh isu penghuraian CSS
  • Pengekodan yang disalahtafsir yang membawa kepada paparan aksara isu

Spesifikasi Skrip ECMA

Walaupun Spesifikasi ECMAScript menyebut aksara ruang kosong yang serupa, ia tidak menyebut ZWSP secara eksplisit. Walau bagaimanapun, rujukan kepada "pemisah ruang" dalam spesifikasi menunjukkan bahawa ZWSP sepatutnya, sebenarnya, dianggap ruang putih. Namun begitu, pelaksanaan semasa menganggapnya sebagai token yang tidak dijangka.

Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Ralat Sintaks Tidak Dijangka: Token tidak dijangka HARAM' dalam Kod JavaScript Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan