Bilakah Anda Harus Menggunakan `parseInt()` lwn. `Number()` dalam JavaScript?

Susan Sarandon
Lepaskan: 2024-11-12 18:29:02
asal
588 orang telah melayarinya

When Should You Use `parseInt()` vs. `Number()` in JavaScript?

Membezakan parseInt() daripada Number(): Menyingkap Perbezaan Semantik

Dalam JavaScript, parseInt() dan Number() memainkan peranan penting dalam menukar rentetan kepada nilai angka. Walaupun tujuan dikongsi bersama, mereka mempamerkan gelagat berbeza yang memerlukan pertimbangan yang teliti.

Penukaran Jenis lwn. Penghuraian: Semantik Terurai

Pada asasnya, Number() berfungsi sebagai pembina yang melakukan penukaran jenis, menghantar rentetan yang disediakan ke dalam nombor. parseInt(), sebaliknya, menjalankan penghuraian, mengekstrak kandungan berangka dengan tekun daripada rentetan.

Pengekstrakan Numerik dalam Konteks Berbeza

Perbezaan semantik ini nyata dalam hasil yang ketara . Perhatikan contoh berikut:

  • Penghuraian:

    • parseInt("20px") // 20
    • parseInt("10100", 2 ) // 20 (penukaran binari)
    • parseInt("2e1") // 2
  • Penukaran Jenis:

    • Nombor("20px") // NaN (nombor tidak sah)
    • Nombor("2e1") // 20 (notasi eksponen)

Pengesanan Aksara Mengekor dan Nombor

parseInt() mempamerkan nuansa tambahan: ia mengabaikan aksara mengekor yang tidak membentuk digit dalam pangkalan yang ditentukan.

Oktal dan Heksadesimal: Navigasi Asas Nombor

Tidak seperti Number(), parseInt() sememangnya boleh mengesan tatatanda oktal tersirat. Selain itu, kedua-dua fungsi mengendalikan tatatanda heksadesimal dengan lancar:

  • Nombor("0o10") // 8 (perlapanan eksplisit)
  • parseInt("010") // 8 (perlapanan tersirat)
  • Number("0xF") // 15
  • parseInt("0xF") // 15

Menyatukan Pendekatan Penukaran: Operator Unary Plus

Operator Unary Plus ( ) menyediakan alternatif serba boleh untuk penukaran jenis angka, dengan berkesan mencerminkan tingkah laku Number():

  • "2e1" // 20
  • "0xF" // 15
  • "010" // 10

Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan `parseInt()` lwn. `Number()` dalam 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