Rumah  >  Artikel  >  hujung hadapan web  >  Apakah Perbezaan Halus Antara `parseInt()` dan `Number()` dalam JavaScript?

Apakah Perbezaan Halus Antara `parseInt()` dan `Number()` dalam JavaScript?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-16 07:27:03826semak imbas

What are the Subtle Differences Between `parseInt()` and `Number()` in JavaScript?

Meneroka Perbezaan Halus antara parseInt() dan Number() dalam JavaScript

Apabila menukar rentetan kepada nombor dalam JavaScript, persamaan antara Fungsi parseInt() dan Number() boleh menyebabkan kekeliruan. Walau bagaimanapun, walaupun berkongsi tujuan teras ini, mereka mempamerkan perbezaan semantik yang memerlukan pemeriksaan lanjut.

parseInt(): Fungsi Penghuraian

Tidak seperti Number(), yang melaksanakan jenis penukaran, parseInt() berfungsi terutamanya sebagai fungsi penghuraian. Perbezaan ini bermakna parseInt() cuba mentafsir rentetan sebagai perwakilan angka sambil mengabaikan sebarang aksara mengekor yang tidak sejajar dengan asas yang ditentukan (lalai: perpuluhan).

Nombor(): Jenis Conversion Constructor

Sebaliknya, Number() memanggil Number constructor, yang berkelakuan seperti fungsi apabila dipanggil tanpa kata kunci baharu. Fungsi ini melakukan penukaran jenis, mengubah pelbagai nilai (termasuk rentetan) kepada setara angka. Tidak seperti parseInt(), Number() tidak mengabaikan aksara mengekor dan boleh mentafsir tatatanda eksponen.

Tafsiran Oktal Eksplisit vs Tersirat

Menariknya, Number() tidak secara automatik mengenali tatatanda perlapanan tersirat (cth., "010"), tetapi ia boleh mengendalikan tatatanda perlapanan eksplisit表記法,如"0o10."另一方面,parseInt()将隐式八进制表示法制表示法制表示间除非显式指定十进制基数(cth., "010",10).

Sokongan Notasi Heksadesimal

Kedua-dua parseInt() dan Number() menyokong tatatanda heksadesimal dan mentafsir rentetan seperti "0xF" sebagai integer dengan betul.

Operator Unari untuk Penukaran Jenis Angka

值得注意的是,一元 运算符也可以用来街与使用Nombor()构造函数作为函数的效果相同。然而,它更简洁,不需要显式调用Nombor()函数。

Atas ialah kandungan terperinci Apakah Perbezaan Halus Antara `parseInt()` dan `Number()` dalam JavaScript?. 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