Dies ist eine Interviewfrage der Firma lgzx. Sie erfordert das Hinzufügen einer Methode zum String von js, um die Leerzeichen (einschließlich Leerzeichen, Tabulatoren, Formularfeeds usw.) auf beiden Seiten des Strings zu entfernen.
Kopieren Sie den Codecode wie folgt:
String.prototype.trim = function() {
//return this.replace(/[(^/s+)(/s+$)]/g,"");//Entferne die Leerzeichen in der Zeichenfolge
//gib this.replace(/^/s+|/s+$/g,"");
return this.replace(/^/s+/g,"").replace(//s+$/g,"");
}
JQuery1.4.2, verwendet von Mootools
Kopieren Sie den Codecode wie folgt:
Funktion trim1(str){
return str.replace(/^(/s|/xA0)+|(/s|/xA0)+$/g, '');
}
jQuery1.4.3, verwendet von Prototype. Diese Methode entfernt g, um die Leistung leicht zu verbessern. Sie bietet eine bessere Leistung bei der Verarbeitung von Zeichenfolgen in kleinem Maßstab.
Kopieren Sie den Codecode wie folgt:
Funktion trim2(str){
return str.replace(/^(/s|/u00A0)+/,'').replace(/(/s|/u00A0)+$/,'');
}
Nach der Durchführung von Leistungstests schlug Steven Levithan den schnellsten Weg zum Trimmen von Strings in JS vor, der eine bessere Leistung bei der Verarbeitung langer Strings bietet.
Kopieren Sie den Codecode wie folgt:
Funktion trim3(str){
str = str.replace(/^(/s|/u00A0)+/,'');
for(var i=str.length-1; i>=0; i--){
if(//S/.test(str.charAt(i))){
str = str.substring(0, i+1);
brechen;
}
}
return str;
}
Als letztes muss noch erwähnt werden, dass ECMA-262 (V5) String eine native Trim-Methode (15.5.4.20) hinzufügt. Darüber hinaus wurden String in der Molliza Gecko 1.9.1-Engine die Methoden trimLeft und trimRight hinzugefügt.