Rumah >hujung hadapan web >tutorial js >Bagaimanakah JavaScript Mengendalikan Nombor Bermula dengan Sifar?

Bagaimanakah JavaScript Mengendalikan Nombor Bermula dengan Sifar?

DDD
DDDasal
2024-11-28 04:51:14811semak imbas

How Does JavaScript Handle Numbers Starting with Zero?

Nombor bermula dengan sifar dalam JavaScript

Pendahuluan:

Apabila nombor dalam JavaScript bermula dengan sifar, ia mungkin Menghasilkan kekeliruan tingkah laku. Artikel ini meneroka latar belakang sejarah tingkah laku ini dan menyediakan amalan terbaik untuk mengendalikan dengan selamat sifar digit dalam JavaScript moden.

Ghost of Octal Numbers:

Dalam versi JavaScript yang lebih awal, nombor yang bermula dengan sifar ditafsirkan sebagai nombor perlapanan (asas 8), serupa dengan nombor dengan 0x The nombor heksadesimal (asas 16) awalan. Ini serupa dengan sintaks beberapa bahasa pengaturcaraan lain, tetapi sering menyebabkan kekeliruan dalam JavaScript.

Tafsiran ini membawa kepada beberapa kelakuan aneh, seperti 040 ditafsirkan sebagai nombor perlapanan yang bersamaan dengan 32 apabila ditukar kepada perpuluhan.

Penyelesaian:

Untuk menyelesaikan kekeliruan ini, ECMAScript 5 menurunkan taraf sintaks nombor perlapanan kepada sambungan pilihan dan melumpuhkan penggunaan dengan sifar pendahuluan dalam nombor perpuluhan mod ketat. ECMAScript 6 memperkenalkan awalan khas untuk nombor perduaan dan perlapanan:

  • Nombor perduaan: Awalan 0b atau 0B
  • Nombor Oktal: 0o atau 0O Awalan

Amalan terbaik:

Dalam JavaScript moden, amalan terbaik berikut disyorkan untuk mengendalikan nombor bermula dengan sifar:

  • Baca nombor sebagai integer: Tukar rentetan angka menggunakan parseInt() Tukar kepada integer perpuluhan, memastikan sifar pendahuluan tidak ditafsirkan sebagai perlapanan.
  • Gunakan awalan perduaan atau perlapanan: Jika anda perlu menyatakan nombor perduaan atau perlapanan secara eksplisit, gunakan awalan yang sesuai (0b, 0B, 0o atau 0O).
  • Elakkan nombor dengan sifar pendahuluan: Jika boleh, elakkan nombor dengan sifar pendahuluan kerana ini boleh menyebabkan kekeliruan atau tingkah laku yang tidak dijangka.

Atas ialah kandungan terperinci Bagaimanakah JavaScript Mengendalikan Nombor Bermula dengan Sifar?. 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