Rumah > Artikel > hujung hadapan web > Apakah Perbezaan Halus Antara `parseInt()` dan `Number()` dalam 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!