"10" Nilaikan kepada Benar dalam JavaScript? " /> "10" Nilaikan kepada Benar dalam JavaScript? " />
Javascript Rentetan dan Perbandingan Integer Misteri Diselesaikan
Adalah sering dijumpai bahawa parameter yang disimpan dalam HTML dibandingkan sebagai integer oleh JavaScript. Walau bagaimanapun, pepijat yang pelik timbul, di mana parameter ini nampaknya ditafsirkan sebagai rentetan, yang membawa kepada perbandingan integer yang salah keputusan.
Untuk menggambarkan isu yang membingungkan ini, pertimbangkan contoh berikut:
console.log("2" > "10");
Tanpa disangka-sangka, penyataan ini dinilai sebagai benar ini boleh dikaitkan dengan paksaan jenis tersirat dalam JavaScript melakukan perbandingan rentetan, operan dipaksa kepada rentetan, menghasilkan perbandingan nilai leksikal Dalam kes ini, "2" secara leksikal lebih besar daripada "10", membawa kepada hasil yang salah.
Untuk menyelesaikan isu ini dan memastikan perbandingan integer yang tepat, adalah penting untuk menghuraikan rentetan secara eksplisit kepada integer Ini boleh dicapai menggunakan fungsi parseInt:
alert(parseInt("2", 10) > parseInt("10", 10));
Dengan menukar rentetan kepada setara angkanya, kami menjamin bahawa operasi perbandingan integer dilakukan pada sebenar nilai angka.
Atas ialah kandungan terperinci Mengapakah '2' > '10' Dinilai kepada Benar dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!