2010-12-28 10 views

Antwort

33

Sie unterschiedliche Signaturen haben, .slice() ist:

string.slice(beginIndex, endIndex) 

Während .substr() ist:

string.substr(beginIndex, length); 

So zum Beispiel, wenn wir "1234" und wollte "23" haben, wäre es:

"1234".slice(1,3) 
//or... 
"1234".substr(1,2) 

Sie haben auch anders Entsprechendes Verhalten für die selteneren negativen Indizes finden Sie in der MDC-Dokumentation für .slice() und .substr() für vollständige Beschreibungen.

+2

Beachten Sie, dass die "substr" -Methode nicht Teil des ECMAScript-Standards ist und auch in verschiedenen Browsern inkonsistente Ergebnisse liefern kann. Hier ist eine gute Zusammenfassung: http://www.jacklmoore.com/notes/substring-substr-slice-javascript/ –

5
  1. String.slice(begin, end)

    Diese Methode wird Text von begin zu end char geschnitten, zB .:

    alert("Hello World!".slice(1, 8)); // ello Wo 
    
  2. String.substr(begin, length)

    Diese Methode wird geschnitten Text von begin zu begin + length char, zB .:

    alert("Hello World!".substr(1, 8)); // ello Wor 
    
2
var str="Hello world!"; 
document.write(str.substring(3,7)+"<br />"); 
document.write(str.slice(3,7)+"<br />"); 
document.write(str.substr(3,7)); 

Ergebnis:

lo w 
lo w 
lo worl 
0

glaube ich den Unterschied zwischen str.slice() und str.substr() der zweite Parameter:

.slice() nimmt EndIndex während .substr() Länge nimmt, wie in:

.slice(StartIndex,EndIndex) und .substr(StartIndex,length).

1

Substring()

1.If Start gleich stoppen, es gibt einen leeren String. 2. Wenn stop weggelassen wird, werden Zeichen am Ende der Zeichenfolge extrahiert. 3. Wenn start> stop, wird die Teilzeichenfolge diese 2 Argumente vertauschen. 4. Wenn eines der Argumente größer als die Länge der Zeichenfolge ist, wird für jedes Argument die Länge der Zeichenfolge verwendet. 5.Falls beide Argument ist kleiner als 0 oder NaN, es behandelt wird, als ob es 0

Scheibe war()

1.If Start gleich stoppen, es einen leeren String zurück, genau wie Teilzeichenfolge(). 2. Wenn stop weggelassen wird, extrahiert slice chars genau wie substring() an das Ende der Zeichenkette. 3. Wenn start> stop, wird slice() NICHT die 2 Argumente vertauschen. 4.Wenn eines der Argumente größer als die Länge der Zeichenfolge ist, verwendet jedes Argument die Länge der Zeichenfolge genau wie substring().

Verwandte Themen