Heim > Web-Frontend > js-Tutorial > Implementieren der Methoden String.startsWith und endWith in Javascript_Javascript-Tipps

Implementieren der Methoden String.startsWith und endWith in Javascript_Javascript-Tipps

WBOY
Freigeben: 2016-05-16 15:56:20
Original
1564 Leute haben es durchsucht

Bei der Arbeit mit dem String-Typ sind „startsWith(anotherString)“ und „endsWith(anotherString)“ sehr nützliche Methoden. Unter diesen bestimmt „startsWith“, ob die aktuelle Zeichenfolge mit „anotherString“ beginnt, und „endsWith“ bestimmt, ob sie endet. Beispiel:

"abcd".startsWith("ab"); // true
"abcd".startsWith("bc"); // false
"abcd".endsWith("cd");  // true
"abcd".endsWith("e");  // false
"a".startsWith("a");   // true
"a".endsWith("a");    // true
Nach dem Login kopieren

Diese beiden Methoden sind in Javascript leider nicht enthalten, Sie können sie also nur bei Bedarf selbst schreiben. Natürlich ist es nicht schwer zu schreiben.

if (typeof String.prototype.startsWith != 'function') {
 String.prototype.startsWith = function (prefix){
  return this.slice(0, prefix.length) === prefix;
 };
}
Nach dem Login kopieren

String.slice() ähnelt String.substring() darin, dass beide einen Teilstring erhalten, einige Rezensionen sagen jedoch, dass Slice effizienter ist. Der Grund, warum indexOf() hier nicht verwendet wird, ist, dass indexOf die gesamte Zeichenfolge scannt. Wenn die Zeichenfolge sehr lang ist, ist die Effizienz von indexOf sehr schlecht.

if (typeof String.prototype.endsWith != 'function') {
 String.prototype.endsWith = function(suffix) {
  return this.indexOf(suffix, this.length - suffix.length) !== -1;
 };
}
Nach dem Login kopieren

Im Gegensatz zu „startsWith“ kann indexOf in „endsWith“ verwendet werden. Der Grund dafür ist, dass nur die letzte Zeichenfolge gescannt wird. Der Vorteil gegenüber Slice besteht darin, dass die Zeichenfolge nicht kopiert werden muss, sondern nur direkt gescannt werden muss, sodass die Effizienz effizienter ist.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage