Heim >Web-Frontend >js-Tutorial >Die Funktion „startsWith' in js ist mit keinem Browser kompatibel

Die Funktion „startsWith' in js ist mit keinem Browser kompatibel

高洛峰
高洛峰Original
2017-03-01 15:38:151817Durchsuche

Die Funktion „startsWith“ wird beim JS-Testen verwendet, ist jedoch nicht in jedem Browser verfügbar. Daher müssen wir diese Funktion im Allgemeinen neu schreiben.

In einigen Browsern Es ist undefiniert, daher können wir es so handhaben:

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

Dies muss direkt nach dem Laden der Seite in die Funktion eingefügt werden. sonst klappt es nicht.

Es gibt auch ein direktes Umschreiben, aber ich habe es nicht getestet. Sie können es testen:

String.prototype.startWith=function(str){ 
 if(str==null||str==""||this.length==0||str.length>this.length) 
  return false; 
 if(this.substr(0,str.length)==str) 
   return true; 
 else 
   return false; 
 return true; 
}

Einige Leute sagen, dass es in js keine StartsWith- und EndWith-Funktionen gibt, aber einige Browser können sie trotzdem verwenden, auch wenn sie nicht deklariert sind, aber aus Kompatibilitätsgründen möchten sie sie trotzdem neu schreiben.

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

Verwenden Sie reguläre Ausdrücke, um die Effektfunktionen startWith und endWith zu implementieren

String.prototype.startWith=function(str){
var reg=new RegExp("^"+str);
return reg.test(this);
}
//测试ok,直接使用str.endWith("abc")方式调用即可
String.prototype.endWith=function(str){
var reg=new RegExp(str+"$");
return reg.test(this);
}

Das Problem, dass die oben aufgeführte Funktion „startsWith“ in js mit keinem Browser kompatibel ist, ist der gesamte vom Editor freigegebene Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe auch, dass jeder die chinesische PHP-Website unterstützt.

Weitere verwandte Artikel zum Thema, dass die Funktion „startsWith“ in js mit keinem Browser kompatibel ist, finden Sie auf der chinesischen PHP-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