Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengelakkan Penghuraian Integer Oktal Tidak Dijangka JavaScript?

Bagaimanakah Saya Boleh Mengelakkan Penghuraian Integer Oktal Tidak Dijangka JavaScript?

Patricia Arquette
Lepaskan: 2024-12-14 08:25:11
asal
945 orang telah melayarinya

How Can I Avoid JavaScript's Unexpected Octal Integer Parsing?

Perangkap Oktal JavaScript dan Penyelesaian Praktikal

Apabila mengendalikan penghuraian integer dalam JavaScript, adalah penting untuk mengetahui kelakuannya yang tidak konvensional apabila menghadapi sifar pendahuluan . JavaScript mentafsirkannya sebagai integer perlapanan, menghasilkan hasil yang tidak dijangka.

Sebagai contoh, menghurai '08' dan '09' menghasilkan 0 kerana ketiadaannya dalam asas-8. Untuk mengelakkan perangkap ini, beberapa penyelesaian wujud:

1. Spesifikasi Radix Eksplisit:

Dengan menyatakan radix (asas) secara eksplisit, anda mengarahkan parseInt untuk menganggap sifar pendahuluan sebagai digit perpuluhan.

parseInt('08', 10); // 8
parseInt('09', 10); // 9
Salin selepas log masuk

2. Objek Nombor:

Objek Nombor menyediakan alternatif yang lebih mudah kepada parseInt. Ia secara automatik menukar input kepada integer perpuluhan.

Number('08'); // 8
Number('09'); // 9
Salin selepas log masuk

Nota Tambahan:

Piawaian JavaScript (ECMA-262) versi 5 memperkenalkan perubahan pecah yang menghapuskan tingkah laku oktal ini. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa perubahan ini tidak disokong secara universal oleh penyemak imbas, terutamanya versi yang lebih lama. Oleh itu, masih dinasihatkan untuk melaksanakan penyelesaian di atas untuk keserasian merentas penyemak imbas.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelakkan Penghuraian Integer Oktal Tidak Dijangka JavaScript?. 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