Heim > Artikel > Web-Frontend > Detaillierte Erläuterung der IndexOf-Technologie in Javascript_Javascript-Kenntnissen
JavaScript bietet verschiedene Techniken zum Suchen nach einem Wort, einer Zahl oder einer anderen Zeichenfolge in einer Zeichenfolge. Die Suche kann beispielsweise praktisch sein, wenn Sie wissen möchten, welchen Webbrowser Ihre Besucher zum Anzeigen Ihrer Website verwenden. Jeder Webbrowser identifiziert Informationen über sich selbst in einer Zeichenfolge, die viele verschiedene Statistiken enthält. Sie können diese Zeichenfolge anzeigen, indem Sie das folgende JavaScript zu einer Webseite hinzufügen und eine Vorschau in einem Webbrowser anzeigen:
<script> alert(navigator.userAgent); </script>
Navigator ist ein Webbrowser-Objekt und userAgent ist eine Eigenschaft des Navigator-Objekts. Das userAgent-Attribut enthält eine lange Liste von Informationen. Für Internet Explorer 7 unter Windows XP lautet das userAgent-Attribut beispielsweise: Mozilla/4.0 (kompatibel; MSIE 7.0; Windows NT 5.1). Wenn Sie also sehen möchten, ob der Webbrowser IE 7 ist, können Sie einfach in der userAgent-Zeichenfolge nach „MSIE 7“ suchen. Eine Möglichkeit, eine Zeichenfolge zu durchsuchen, ist die Methode indexOf(). Fügen Sie nach der Zeichenfolge einen Punkt hinzu, dann indexOf() und geben Sie die gesuchte Zeichenfolge an. Die Grundstruktur ist wie folgt:
string.indexOf('zu suchende Zeichenfolge')
Die Methode indexOf() gibt eine Zahl zurück: Wenn die Suchzeichenfolge nicht gefunden wird, gibt die Methode -1 zurück. Wenn Sie also den Internet Explorer überprüfen möchten, können Sie Folgendes tun:
var browser=navigator.userAgent;//this is a string if(browser.indexOf('MSIE')!=-1){ //this is Internet Explorer }
Wenn indexOf() in diesem Beispiel „MSIE“ im UserAgent-String nicht findet, gibt es -1 zurück, sodass die Bedingung prüft, ob das Ergebnis nicht gleich (!=) -1 ist. Wenn die Methode indexOf() die gesuchte Zeichenfolge findet, gibt sie eine Zahl zurück, die dem Anfang der gesuchten Zeichenfolge entspricht. Das folgende Beispiel macht die Sache etwas klarer:
var quote='To be, or not to be.' var searchPosition=quote.indexOf('To be');//returns 0
Hier sucht indexOf() nach der Position von „To be“ in der Zeichenfolge „To be, or not to be“. Die größere Zeichenfolge beginnt mit „To be“, daher findet indexOf() „To be“ an der ersten Position. Aufgrund der Programmierung wird die erste Position jedoch als 0 betrachtet, der zweite Buchstabe (o) befindet sich an Position 1 und der dritte Buchstabe (in diesem Beispiel ein Leerzeichen) ist 2.
Die Methode indexOf() beginnt mit der Suche am Anfang der Zeichenfolge. Sie können auch die Methode lastIndexOf() verwenden, um die Suche am Ende der Zeichenfolge zu starten. Beispielsweise kommt in Shakespeares Zitat das Wort „be“ an zwei Stellen vor, Sie können also indexOf() verwenden, um das erste „be“ zu finden, und lastIndexOf(), um das letzte „be“ zu finden:
var quote="To be, or not to be." var firstPosition=quote.indexOf('be');//returns 3 var lastPosition=quote.lastIndexOf('be');//returns 17
Wenn in beiden Beispielen „be“ an keiner Stelle in der Zeichenfolge vorhanden ist, ist das Ergebnis -1. Wenn nur eine Instanz der Suchzeichenfolge vorhanden ist, geben indexO f() und lastIndexOf() denselben Wert zurück , das ist die Position innerhalb der größeren Zeichenfolge, an der die Suchzeichenfolge beginnt.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.