Heim  >  Artikel  >  Web-Frontend  >  So ermitteln Sie in JavaScript_Grundkenntnisse, ob zwei Zeichenfolgen gleich sind

So ermitteln Sie in JavaScript_Grundkenntnisse, ob zwei Zeichenfolgen gleich sind

WBOY
WBOYOriginal
2016-05-16 15:51:041701Durchsuche

Konvertieren Sie zuerst alle Benutzereingabewerte in Großbuchstaben (oder Kleinbuchstaben) und vergleichen Sie dann:

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


   if(name == "urname")


   {


     // statements go here.


   }



JavaScript verfügt über zwei Gleichheitsoperatoren. Einer ist vollständig abwärtskompatibel, der Standard „==". Wenn die beiden Operandentypen inkonsistent sind, führt er irgendwann automatisch eine Typkonvertierung für den Operanden durch:

   var strA = "i love you!";


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



Diese beiden Variablen enthalten die gleiche Zeichenfolge, haben jedoch unterschiedliche Datentypen. Erstere ist eine Zeichenfolge und letztere ist ein Objekt. Bei Verwendung des Operators „==“ versucht JavaScript, festzustellen, ob die beiden identisch sind Reihenfolge. In einigen Fällen gleich. Der folgende Ausdruck ergibt also „true“: strA == strB.


Der zweite Operator ist der „strikte“ „===“, der bei der Auswertung nicht so nachsichtig ist und keine Typkonvertierung durchführt. Der Ausdruck strA === strB ergibt also „falsch“, obwohl beide Variablen denselben Wert haben.


Manchmal erfordert die Logik des Codes, dass Sie feststellen, ob zwei Werte ungleich sind. Hier gibt es zwei Optionen: „!=" und strict „!==". Ihre Beziehung ähnelt „==“ und „. ===".


Diskussion:


„==" und „!=" werden ihr Bestes geben, um bei der Auswertung übereinstimmende Werte zu finden. Möglicherweise möchten Sie jedoch vor dem Vergleich dennoch eine explizite Typkonvertierung durchführen, um ihnen bei ihrer Arbeit zu „helfen“. Wenn Sie beispielsweise feststellen möchten, ob der Eingabewert (Zeichenfolge) eines Benutzers einer Zahl entspricht, können Sie sich von „==" bei der Typkonvertierung helfen lassen:

   if(document.form1.txtAge.value == someNumericVar) { ... }



Sie können auch vorab konvertieren:

   if(parseInt(document.form1.txtAge.value) == someNumericVar) { ... }



Wenn Sie eher mit stark typisierten Programmiersprachen (wie C#, Java usw.) vertraut sind, können Sie diese Gewohnheit (Typkonvertierung) hier fortsetzen, was auch die Lesbarkeit des Programms verbessert.

Es gibt eine Sache, auf die Sie achten müssen: die regionalen Einstellungen des Computers. Wenn Sie Zeichenfolgen mit „f149dc6bf831fc1a1cb4bb71ef737d5a“ vergleichen, vergleicht JavaScript sie als Unicode, aber offensichtlich lesen Leute, die im Internet surfen, den Text nicht als Unicode :) Zum Beispiel im Spanischen: „ch.“ „ wird als Zeichen zwischen „c“ und „d“ sortiert. localeCompare() bietet eine Möglichkeit, die Zeichensortierung des Standardgebietsschemas zu verwenden.

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


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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn