Rumah > hujung hadapan web > tutorial js > Mengapa Kod JavaScript Saya Membuang Ralat 'Token Tidak Dijangka HARAM'?

Mengapa Kod JavaScript Saya Membuang Ralat 'Token Tidak Dijangka HARAM'?

Linda Hamilton
Lepaskan: 2024-12-14 10:24:10
asal
311 orang telah melayarinya

Why Does My JavaScript Code Throw an

"Token yang tidak dijangka HARAM": Pesalah Tersembunyi

Walaupun penampilannya yang mudah, kod yang menyebabkan ralat "Token yang tidak dijangka HARAM" mengandungi watak yang tidak kelihatan yang menjadi punca sebenar. Watak halimunan ini ialah aksara ruang Unicode U 200B Zero-width space (ZWSP).

Asal Usul Watak Halimunan

Sumber watak ZWSP selalunya tidak diketahui, tetapi ia biasanya ditemui dalam kod yang ditampal daripada jsfiddle atau alat pembangun Chrome. Dalam jsfiddle, watak digunakan untuk mengawal pembungkus perkataan.

Mengenal pasti Watak Halimunan

Walaupun tidak kelihatan, watak ZWSP boleh dikesan dengan mendayakan paparan halimunan aksara dalam editor kod anda atau menggunakan alat nyahpepijat dalam talian. Editor seperti Vim memaparkan watak sebagai , manakala alatan seperti jsbin dan CodePen.io menunjukkannya sebagai titik merah.

Kesan dan Masalah Berkaitan

The Watak ZWSP boleh menyebabkan pelbagai masalah, termasuk:

  • Sintaks JavaScript ralat
  • Ruang putih tidak kelihatan atau ruang putih tambahan pada halaman web
  • Paparkan aksara sebagai aksara bukan ruang putih jika pengekodan halaman web tidak dikenali sebagai UTF-8
  • Penghuraian yang tidak betul kod CSS yang membawa kepada isu penggayaan

ECMAScript Spesifikasi

Spesifikasi ECMAScript tidak secara eksplisit menyebut aksara U 200B sebagai token yang tidak dijangka. Walau bagaimanapun, ia mencadangkan bahawa aksara yang serupa (U 200C dan U 200D) harus dianggap sebagai sebahagian daripada pengecam apabila tidak berada dalam elemen kod tertentu. Tingkah laku pelaksanaan (Chrome dan Firefox) dalam menganggap ZWSP sebagai token yang tidak dijangka kelihatan tidak konsisten dengan spesifikasi.

Atas ialah kandungan terperinci Mengapa Kod JavaScript Saya Membuang Ralat 'Token Tidak Dijangka HARAM'?. 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