当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 浅谈js中startsWith 函数不能在任何浏览器兼容的问题

浅谈js中startsWith 函数不能在任何浏览器兼容的问题

2019年03月23日  | 移动技术网IT编程  | 我要评论

座机电话号码查询,上海 黄山,丹东在线影院

在做js测试的时候用到了startswith函数,但是他并不是每个浏览器都有的,所以我们一般要重写一下这个函数,具体的用法可以稍微总结一下

在有些浏览器中他是undefined 所以我们可以这样的处理一下、

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

这个需要放在页面刚要加载完成的函数里,不然不好使。

还有一种直接重写 不过我没测试过,你们可以测试一下:

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; 
} 

有的说js中没有startswith 和endwith这两个函数不过就算不声明有些浏览器他还是可以用的,不过为了兼容性还是希望重写一下。

if (typeof string.prototype.endswith != 'function') {
 string.prototype.endswith = function(suffix) {
 return this.indexof(suffix, this.length - suffix.length) !== -1;
 };
}

采用正则表达式实现startwith、endwith效果函数

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);
} 

以上这篇浅谈js中startswith 函数不能在任何浏览器兼容的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网