Heim >Web-Frontend >js-Tutorial >Erweiterung und Reparatur von Zeichenfolgen im Javascript-Framework-Design zum Lesen von Notizen_Javascript-Kenntnissen

Erweiterung und Reparatur von Zeichenfolgen im Javascript-Framework-Design zum Lesen von Notizen_Javascript-Kenntnissen

WBOY
WBOYOriginal
2016-05-16 16:29:391418Durchsuche

1.Wiederholungsmethode: Wiederholen Sie eine Zeichenfolge n-mal. Zum Beispiel: wiederholen("chaojidan",2) -> chaojidanchaojidan

Methode 1:

Code kopieren Der Code lautet wie folgt:

Funktion wiederholen(str,n){
return Array.prototype.join.call({length:n 1},str); //Führen Sie die Join-Methode im Kontext des Klassenarrays {length:n 1} aus und übergeben Sie str. Das heißt, verwenden Sie str, um die Optionen des Klassenarrays zu trennen. Das Klassenarray ist leer, es gibt also n strs, die durch n 1 "" getrennt sind, und das Ergebnis sind n strs-Verbindungen.
}

Methode 2:

Code kopieren Der Code lautet wie folgt:
Funktion wiederholen(str,n){
var s = str ,total = "";
​while(n>0){                                                               //Angenommen, n ist 5, nach n%2 ist es gleich 1, also total = str.s=strstr. n=2. Die zweite Schleife: s=strstrstrstr, n=1. Die dritte Schleife total = strstrstrstrstr, break, aus der Schleife springen und total zurückgeben, was zufällig die Zeichenfolge ist, in der str 5 Mal wiederholt wird   if(n%2 ==1){   
​​total =s; //Hier ist 2 hoch 0, also 1. Alle positiven ganzen Zahlen können mit 1, 2, 4, 8 kombiniert werden.... Zum Beispiel: 3=1 2,5=1 4,7=1 2 4.
  }
  if(n==1) break;
​​ s =s; //Was hier verwendet wird, ist die Potenz von 2, 2, 4, 8....
  n = n>>1;
}
Gesamtsumme zurückgeben ;
}



2. Ermitteln Sie die Länge aller Bytes der Zeichenfolge: str.charCodeAt(i) >255. Fügen Sie einfach die Länge von str hinzu und es ist in Ordnung.
3. Konvertieren Sie den Camel-Case-Stil: str.replace(/[-_][^-_]/g,function(match){return match.charAt(1).toUpperCase();})

//-_In [] besteht keine Notwendigkeit, es zu verwenden, und ^ in [] bedeutet das Gegenteil, das heißt, wenn -a oder _a angetroffen wird, wird es durch A ersetzt (Übereinstimmung ist eine reguläre Übereinstimmung). string _a, dann nimm a und schreibe es groß)

4. In Unterstreichungsstil konvertieren: str.replace(/([a-zd])([A-Z])/g,'$1_$2').replace(/-/g,'_').toLowerCase ();

//Das erste Ersetzen entspricht der Zeichenfolge von cA oder 4A und ersetzt sie dann durch c_A oder 4_A. $1 stellt den ersten Unterausdruck dar. Die zweite Ersetzung besteht darin, _ anstelle von - zu verwenden. Da - nicht in [] enthalten ist, muss es hinzugefügt werden.

5. Entfernen Sie das HTML-Tag in der Zeichenfolge: str.replace(/<[^>] >/g,''), wodurch das Skript-Tag entfernt wird, das JS-Skript jedoch nicht Skript.

6. Entfernen Sie das Skript-Tag und das darin enthaltene js-Skript: str.replace(/]*>(Ss)*?)/img,'')

/ Muss verwendet werden, um ein Entkommen zu verhindern.

//(Ss)*?) Passen Sie so wenig wie möglich an, nicht gieriges Matching. Zum Beispiel: <script>aaa</script>dddd<script>bbbb</script> stimmt zuerst mit <script>aaa</script> überein, andernfalls wird ? ein gieriger Treffer sein, der mit allen <script>aaa</script>dddd<script>bbbb</script> übereinstimmt, und sogar die Zeichenfolge dddd wird entfernt.

7. Escapen Sie die Zeichenfolge durch HTML, um für die Anzeige auf der Seite geeigneten Inhalt zu erhalten.

str.replace(/&/g,'&').replace(//g,'>').replace(/"/ g,'"').replace(/'/g,''');

8. Ersetzen Sie die HTML-Entitätszeichen der Zeichenfolge durch entsprechende Zeichen:

Das Gegenteil von 7, nur noch ein replace(/([d] );/g,function($0,$1){ return String.fromCharCode(parseInt($1,10)) }) //$1 ist Die erste Unterausdrucksübereinstimmung.

9.trim:str.replace(/^s | s $/g,'') , IE oder frühe Standardbrowser listen viele Leerzeichen nicht als s auf, daher kann es zu Fehlern kommen. Warum jedoch darauf bestehen, mit veralteten Browsern kompatibel zu sein?

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