Rumah >hujung hadapan web >tutorial js >parseInt vs Unary Plus: Bilakah Anda Harus Memilih Alat Penukaran Berangka Yang Mana?
parseInt vs Unary Plus: Memilih Alat Penukaran Numerik yang Tepat
Apabila bekerja dengan rentetan yang mewakili nombor dalam JavaScript, anda boleh menukarnya kepada nilai berangka menggunakan dua kaedah biasa: parseInt dan operator tambah unary ( ). Walaupun kedua-dua kaedah boleh menghasilkan hasil yang diingini, terdapat kehalusan dan perbezaan prestasi yang memerlukan pertimbangan yang teliti.
parseInt vs Unary Plus
parseInt mengambil dua hujah: rentetan untuk ditukar dan asas (pilihan; lalai kepada 10). Ia mentafsir rentetan sebagai integer dalam asas yang ditentukan dan mengembalikan integer jika berjaya.
Operator tambah unari, sebaliknya, hanya cuba menukar operan kepada nombor tanpa menyatakan asas. Jika operan ialah rentetan angka yang sah, ia mengembalikan nilai angka; jika tidak, ia mengembalikan NaN.
Prestasi
Secara amnya, pengendali unary plus nyata lebih pantas daripada parseInt dalam Chrome. Walau bagaimanapun, perbezaan prestasi ini mungkin berbeza-beza bergantung pada enjin dan versi.
Pengendalian Ralat
Kedua-dua kaedah mengembalikan NaN jika rentetan tidak boleh ditukar kepada nombor. Walau bagaimanapun, parseInt mempunyai ciri tambahan yang membolehkan anda menentukan perkara yang perlu dilakukan jika rentetan mengandungi aksara bukan angka. Secara lalai, ia mengabaikannya dan menukar bahagian angka yang tinggal. Anda boleh mengatasi gelagat ini dengan memberikan hujah ketiga yang menyatakan kedudukan di mana bahagian angka bermula.
Penggunaan
Berdasarkan perbezaan ini, anda harus menggunakan parseInt apabila:
Jika tidak, anda boleh menggunakan operator tambah unari untuk penukaran angka am, kerana ia biasanya lebih pantas dan lebih mudah.
Perbandingan dengan Operator Double Tilde (~~)
Pengendali tilde berganda (~~) memaksa operannya kepada integer 32-bit. Ia berkesan mengalih keluar bahagian pecahan dan melakukan penafian bitwise, yang mempunyai kesan pembundaran ke bawah nombor. Ambil perhatian bahawa pengendali ini tidak mengambil kira asas rentetan input.
Atas ialah kandungan terperinci parseInt vs Unary Plus: Bilakah Anda Harus Memilih Alat Penukaran Berangka Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!