Rumah >hujung hadapan web >tutorial js >Mengapa Saya Mendapat Ralat 'Token Tidak Dijangka HARAM' Walaupun Kod Rupanya Betul?

Mengapa Saya Mendapat Ralat 'Token Tidak Dijangka HARAM' Walaupun Kod Rupanya Betul?

Linda Hamilton
Linda Hamiltonasal
2024-12-18 06:50:11104semak imbas

Why Am I Getting an

Punca Yang Tidak Nampak untuk Ralat "Token Tidak Dijangka HARAM"

Ralat Sintaks

Apabila kod dipecahkan kepada unsur yang dipanggil "token" semasa tafsiran , yang tidak boleh dikategorikan akan dilabelkan sebagai "HARAM." Ralat ini juga boleh berlaku disebabkan oleh aksara penyangak atau simbol yang salah letak.

Watak Halimunan

Walaupun kod anda mungkin kelihatan mudah, watak Unicode halimunan dipanggil aksara ruang lebar sifar (ZWSP) boleh mengintai selepas koma bertitik. Watak ini boleh menyebabkan ralat sintaks JavaScript HARAM token Tidak dijangka.

Asal Usul ZWSP

Alat seperti jsfiddle sering memperkenalkan ZWSP untuk mengawal pembungkusan perkataan. Walaupun versi alat pembangun jsfiddle dan Chrome yang lebih baharu telah menangani isu ini, ia masih berbaloi untuk menyemaknya.

Cara Mengesan ZWSP

Untuk mengesahkan kehadiran ZWSP, gunakan editor yang memaparkan tidak kelihatan aksara (cth., Vim). Alat penyahpepijatan dalam talian seperti jsbin dan CodePen.io turut menyerlahkan ZWSP sebagai titik merah.

Isu Berkaitan

ZWSP juga boleh menyebabkan:

  • Ruang putih tambahan dalam HTML
  • Ralat penggayaan dalam CSS kerana tidak dikenali aksara
  • Positif palsu dalam semakan rentetan kosong

Spesifikasi ECMAScript

Spesifikasi ECMAScript menyenaraikan aksara serupa (U 200C dan U 200D) sebagai Bahagian Pengecam yang sah di luar bahagian tertentu konteks. Walau bagaimanapun, U 200B tidak disebut secara jelas. Pelaksanaan menganggapnya sebagai token yang tidak dijangka, yang membawa kepada ralat sintaks.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Token Tidak Dijangka HARAM' Walaupun Kod Rupanya Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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