"10"? Pengaturcaraan Javascript mempunyai kelainan yang pelik dengan perbandingan rentetan dan integer...."/> "10"? Pengaturcaraan Javascript mempunyai kelainan yang pelik dengan perbandingan rentetan dan integer....">

Rumah >hujung hadapan web >tutorial js >Mengapa Adakah '2' > '10' dalam Javascript?

Mengapa Adakah '2' > '10' dalam Javascript?

Susan Sarandon
Susan Sarandonasal
2024-11-19 15:24:02640semak imbas

Why Does "10" dalam Javascript? " /> "10" dalam Javascript? " />

Javascript String/Integer Comparison Quandary: Mengapa "2" > "10"?

Pengaturcaraan Javascript mempunyai kelainan yang unik dengan perbandingan rentetan dan integer. Walaupun seseorang mungkin menganggap bahawa rentetan berangka dianggap sebagai integer, ini tidak selalu berlaku, yang membawa kepada hasil yang tidak dijangka.

Pertimbangkan kod yang membingungkan berikut:

console.log("2" > "10");

Mengejutkan ramai orang , kod ini dinilai kepada benar. Mengapakah "2" lebih besar daripada "10"?

Isu asas terletak pada perlakuan semula jadi Javascript terhadap rentetan dan integer Apabila membandingkan dua rentetan, Javascript melakukan perbandingan leksikografik titik kod Unicode mereka Dalam kes ini, titik kod ASCII untuk "2" (50) adalah kurang daripada titik kod untuk "10" (56), menyebabkan "2" dianggap "kurang daripada" "10" dalam perbandingan rentetan.

Untuk menyelesaikan dilema ini dan membandingkan nilai berangka dengan tepat sebagai integer, adalah penting untuk menghuraikan rentetan secara manual menjadi integer Ini boleh dicapai menggunakan fungsi parseInt, yang mengambil rentetan dan radix asas sebagai argumen.

Sebagai contoh, untuk menukar rentetan "2" kepada integer dan melakukan perbandingan bermakna dengan "10":

alert(parseInt("2", 10) > parseInt("10", 10));

Kod ini dinilai dengan betul kepada palsu, sebagai " 2" sememangnya kurang daripada "10" apabila kedua-duanya dianggap sebagai integer.

Dengan menggunakan penghuraian rentetan yang teliti, seseorang boleh mengelakkan perangkap kelakuan perbandingan rentetan/integer yang mengelirukan Javascript dan memastikan perbandingan berangka yang boleh dipercayai.

Atas ialah kandungan terperinci Mengapa Adakah '2' > '10' 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
Artikel sebelumnya:Pengisytiharan modul dalam TSArtikel seterusnya:Pengisytiharan modul dalam TS