Bagaimana untuk menentukan sama ada dua rentetan adalah sama dalam pengetahuan JavaScript_Basic

WBOY
Lepaskan: 2016-05-16 15:51:04
asal
1706 orang telah melayarinya

Tukar semua nilai input pengguna kepada huruf besar (atau huruf kecil) dahulu, dan kemudian bandingkan:

   var name = document.form1.txtUserName.value.toLowerCase();


   if(name == "urname")


   {


     // statements go here.


   }

Salin selepas log masuk



JavaScript mempunyai dua operator kesamaan. Satu adalah serasi sepenuhnya ke belakang, standard "==" Jika kedua-dua jenis operan tidak konsisten, ia akan melakukan penukaran jenis secara automatik pada operan pada satu ketika Pertimbangkan pernyataan tugasan berikut:

   var strA = "i love you!";


   var strB = new String("i love you!");

Salin selepas log masuk



Kedua-dua pembolehubah ini mengandungi jujukan aksara yang sama, tetapi mempunyai jenis data yang berbeza Yang pertama ialah rentetan dan yang kedua ialah objek Apabila menggunakan operator "==", JavaScript akan mencuba pelbagai penilaian untuk mengesan sama ada kedua-duanya berada dalam keadaan yang sama turutan sama dalam beberapa kes. Jadi ungkapan berikut dinilai kepada benar: strA == strB.


Pengendali kedua ialah "ketat" "===", yang tidak begitu memaafkan apabila menilai dan tidak melakukan penukaran jenis. Jadi ungkapan strA === strB menilai palsu, walaupun kedua-dua pembolehubah memegang nilai yang sama.


Kadangkala logik kod memerlukan anda untuk menentukan sama ada dua nilai tidak sama. Terdapat dua pilihan di sini: "!=" dan ketat "!==" Hubungan mereka serupa dengan "==" dan ". ===".


Perbincangan:


"==" dan "!=" akan cuba sedaya upaya untuk mencari nilai yang sepadan semasa menilai, tetapi anda mungkin masih mahu melakukan penukaran jenis eksplisit sebelum membandingkan untuk "membantu" mereka melakukan tugas mereka. Contohnya, jika anda ingin menentukan sama ada nilai input (rentetan) pengguna adalah sama dengan nombor, anda boleh membenarkan "==" membantu anda melengkapkan penukaran jenis:

   if(document.form1.txtAge.value == someNumericVar) { ... }
Salin selepas log masuk



Anda juga boleh menukar terlebih dahulu:

   if(parseInt(document.form1.txtAge.value) == someNumericVar) { ... }
Salin selepas log masuk



Jika anda lebih terbiasa dengan bahasa pengaturcaraan yang ditaip kuat (seperti C#, Java, dll.), maka anda boleh meneruskan tabiat anda (penukaran jenis) di sini, yang juga akan meningkatkan kebolehbacaan program.

Terdapat satu perkara yang perlu anda perhatikan, iaitu tetapan serantau komputer. Jika anda membandingkan rentetan dengan "<" dan ">", maka JavaScript membandingkannya sebagai Unicode, tetapi jelas orang yang melayari web tidak membaca teks sebagai Unicode :) Contohnya dalam bahasa Sepanyol, Menurut pengisihan tradisional, "ch " akan diisih sebagai aksara antara "c" dan "d". localeCompare() menyediakan cara untuk menggunakan pengumpulan aksara tempat lalai.

  var strings; // 要排序的字符串数组,假设已经得到初始化


  strings.sort(function(a,b) { return a.localeCompare(b) }); // 调用sort()方法进行排序

Salin selepas log masuk

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan