Mengapa JavaScript Melayan Nombor Dengan Sifar Utama sebagai Oktal?

DDD
Lepaskan: 2024-11-01 10:22:30
asal
248 orang telah melayarinya

Why Does JavaScript Treat Numbers With Leading Zeroes as Octal?

Sifar Utama dalam Huruf Nombor JavaScript: Memahami Penukaran Oktal

Apabila JavaScript menemui literal nombor dengan sifar pendahuluan, ia mentafsirkannya sebagai nombor oktal (asas-8) kerana sebab sejarah. Sifar terkemuka pernah dibenarkan sebagai sambungan dalam ECMAScript 3, membolehkan pembangun menentukan nombor perlapanan dalam kod mereka. Walau bagaimanapun, amalan ini tidak diseragamkan dan membawa kepada kekeliruan, terutamanya dalam mod ketat.

Dalam ECMAScript 5, penggunaan sifar pendahuluan untuk mewakili nombor perlapanan telah ditamatkan sepenuhnya. Untuk mengelakkan kemungkinan ralat, pembangun dinasihatkan untuk mengalih keluar sifar pendahuluan daripada literal angka atau menyatakan secara eksplisit asas menggunakan awalan berikut:

  • BinaryIntegerLiteral: 0b (mis., 0b1010)
  • OctalIntegerLiteral: 0o (mis., 0o10)
  • HexIntegerLiteral: 0x (cth., 0x10)
  • Untuk mengelakkan JavaScript daripada mentafsir nombor literal sebagai nombor perlapanan, gunakan salah satu teknik berikut:

    Alih Keluar Sifar Utama:
  1. Keluarkan sifar pendahuluan daripada literal nombor.
  2. Gunakan parseInt dengan Base 10:
  3. Gunakan parseInt dan tentukan asas sebagai 10 untuk menguatkuasakan perpuluhan tafsiran. Contoh: parseInt('010', 10);
  4. Gunakan Awalan Asas Eksplisit:
  5. Gunakan awalan yang sesuai (cth., 0o untuk perlapanan, 0b untuk perduaan) untuk menyatakan dengan jelas asas bagi nombor literal.

Atas ialah kandungan terperinci Mengapa JavaScript Melayan Nombor Dengan Sifar Utama sebagai Oktal?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!