Heim  >  Artikel  >  Web-Frontend  >  Ausführliche Erläuterung der Methoden zur Manipulation von JavaScript-Strings und Beispiele für die Browserkompatibilität

Ausführliche Erläuterung der Methoden zur Manipulation von JavaScript-Strings und Beispiele für die Browserkompatibilität

伊谢尔伦
伊谢尔伦Original
2017-07-25 14:32:211589Durchsuche

slice()

Definition: Akzeptiert einen oder zwei Parameter, der erste Parameter gibt die Startposition des Teilstrings an. Der zweite Parameter stellt die Endposition des Teilstrings dar (mit Ausnahme des Zeichens an der Endposition). Wenn der zweite Parameter nicht übergeben wird, wird die Länge des Strings als Endposition verwendet.

1. Wenn der übergebene Parameter ein positiver Wert ist:


var str ="helloWorld";
// 一个参数,则将字符串长度作为结束位置
alert(str.slice(3)); // "loWorld"
// 两个参数,7位置上的字符为"r",但不包括结束位置的字符
alert(str.slice(3,7)); // "loWo"

2. Wenn der übergebene Parameter ein negativer Wert ist:


slice()方法会将传入的负值与字符串长度相加。
 var str ="helloWorld";
// 一个参数,与字符串长度相加即为slice(7)
alert(str.slice(-3)); // "rld"
// 两个参数,与字符串长度相加即为slice(3,6)
alert(str.slice(3,-4)); // "loW"

3. Wenn der zweite Parameter kleiner als der erste Parameter ist:

Der zweite Parameter, der vom Slice übergeben wird ()-Methode Wenn die beiden Parameter kleiner als der erste Parameter sind, wird eine leere Zeichenfolge zurückgegeben.


var str ="helloWorld";
alert(str.slice(5,3)); // ""

4. IE-Kompatibilität

Unter dem IE8-Browsertest gibt es kein Problem, das Verhalten stimmt mit überein modernes Surfen Das Gerät ist konsistent.

substring()

Definition: Akzeptiert einen oder zwei Parameter, der erste Parameter gibt die Startposition des Teilstrings an. Der zweite Parameter stellt die Endposition des Teilstrings dar (mit Ausnahme des Zeichens an der Endposition). Wenn der zweite Parameter nicht übergeben wird, wird die Länge des Strings als Endposition verwendet.

1. Wenn der übergebene Parameter ein positiver Wert ist: das gleiche Verhalten wie bei der Slice()-Methode


var str ="helloWorld";
// 一个参数,则将字符串长度作为结束位置
alert(str.substring(3)); // "loWorld"
// 两个参数,7位置上的字符为"r",但不包括结束位置的字符
alert(str.substring(3,7)); // "loWo"

2. Übergeben Wenn die Parameter negativ sind: Die Methode

substring() konvertiert alle negativen Parameter in 0. Schauen wir uns ein Beispiel an:


var str ="helloWorld";
// 两个参数,-4会转换为0,相当于substring(3,0) -->即为 substring(0,3)
alert(str.substring(3,-4)); // "hel"

Die Methode substring() verwendet die kleinere Zahl als Startposition und die größere Zahl als Endposition. Wie im obigen Beispiel haben substring(3,0) und substring(0,3) den gleichen Effekt.

4. IE-Kompatibilität

Beim IE8-Browsertest gibt es kein Problem und das Verhalten stimmt mit modernen Browsern überein.

substr()

Definition: Akzeptiert einen oder zwei Parameter, der erste Parameter gibt die Startposition des Teilstrings an. Der zweite Parameter unterscheidet sich etwas von der vorherigen Methode und gibt die Anzahl der zurückgegebenen Zeichen an. Wenn kein zweites Argument übergeben wird, wird die Länge der Zeichenfolge als Endposition verwendet. Schauen wir uns ein Beispiel an:

1 Der übergebene Parameter ist ein positiver Wert:


var str ="helloWorld";
// 一个参数,则将字符串长度作为结束位置
alert(str.substr(3)); // "loWorld"
// 两个参数,从位置3开始截取后面7个字符
alert(str.substr(3,7)); // "loWorld"

2 Parameter ist ein negativer Wert. Fall: Die

substr()-Methode fügt den negativen ersten Parameter zur Länge der Zeichenfolge hinzu und konvertiert den negativen zweiten Parameter in 0.


var str ="helloWorld";
// 将第一个负的参数加上字符串的长度--->
//即为:substr(7,5) ,从位置7开始向后截取5个字符
alert(str.substr(-3,5)); // "rld"
// 将第二个参数转换为0
// 即为:substr(3,0),即从位置3截取0个字符串,则返回空
alert(str.substr(3,-2)); // ""

3. IE-Kompatibilität

Es treten Probleme auf, wenn die substr()-Methode negative Werte übergibt Originalsaite. IE9 behebt dieses Problem.

Lassen Sie mich Ihnen die Unterschiede zwischen Slice, Substr und Substring vorstellen.

Zunächst erhalten beide Parameter die Startposition und den Endposition (mit Ausnahme der Endposition), während substr die Startposition und die Länge der zurückzugebenden Zeichenfolge erhält. Schauen Sie sich das folgende Beispiel direkt an:


 var test = 'hello world';
  alert(test.slice(,));    //o w
  alert(test.substring(,));   //o w
  alert(test.substr(,));   //o world

Hier ist zu beachten: Der Teilstring verwendet den kleineren der beiden Parameter als Startposition Der Parameter dient als Endposition.

Zum Beispiel:


alert(test.substring(7,4));   //o w

Wenn der empfangene Parameter als nächstes eine negative Zahl ist, gleicht Slice die Länge seiner Zeichenfolge mit ab die entsprechenden negativen Zahlen werden addiert und das Ergebnis wird als Parameter verwendet; substr fügt einfach den ersten Parameter zur Länge der Zeichenfolge hinzu, da der erste Parameter einfach alle negativen Parameter direkt in 0 umwandelt. Der Testcode lautet wie folgt:


var test = 'hello world';  
alert(test.slice(-));   //rld  
alert(test.substring(-));  //hello world  
alert(test.substr(-));  //rld  
alert(test.slice(,-));  //lo w  
alert(test.substring(,-)); //hel  
alert(test.substr(,-));  //空字符串

Hinweis: IE hat einen Fehler bei der Verarbeitung von substr beim Empfang negativer Werte und gibt die ursprüngliche Zeichenfolge zurück.

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Methoden zur Manipulation von JavaScript-Strings und Beispiele für die Browserkompatibilität. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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