最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
时间:2017-03-02 编辑:简简单单 来源:一聚教程网
在做js测试的时候用到了startsWith函数,但是他并不是每个浏览器都有的,所以我们一般要重写一下这个函数,具体的用法可以稍微总结一下
在有些浏览器中他是undefined 所以我们可以这样的处理一下。
代码如下 | 复制代码 |
if(typeofString.prototype.startsWith !='function') { String.prototype.startsWith =function(prefix){ returnthis.slice(0, prefix.length) === prefix; }; } |
这个需要放在页面刚要加载完成的函数里,不然不好使。
还有一种直接重写 不过我没测试过,你们可以测试一下:
代码如下 | 复制代码 |
String.prototype.startWith=function(str){ if(str==null||str==""||this.length==0||str.length>this.length) returnfalse; if(this.substr(0,str.length)==str) returntrue; else returnfalse; returntrue; } |
有的说js中没有startsWith 和endWith这两个函数不过就算不声明有些浏览器他还是可以用的,不过为了兼容性还是希望重写一下。
代码如下 | 复制代码 |
if(typeofString.prototype.endsWith !='function') { String.prototype.endsWith =function(suffix) { returnthis.indexOf(suffix,this.length - suffix.length) !== -1; }; } |
采用正则表达式实现startWith、endWith效果函数
代码如下 | 复制代码 |
String.prototype.startWith=function(str){ varreg=newRegExp("^"+str); returnreg.test(this); } |
//测试ok,直接使用str.endWith("abc")方式调用即可
代码如下 | 复制代码 |
String.prototype.endWith=function(str){ varreg=newRegExp(str+"$"); returnreg.test(this); } |
以上这篇浅谈js中startsWith 函数不能在任何浏览器兼容的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持一聚教程网。
相关文章
- HTML简单购物数量小程序代码展示 10-31
- html canvas实现弹幕功能 10-31
- HTML中空格表示的意义 10-31
- html area标签解读 10-31
- html使用表单标签实现注册页面代码展示 10-31
- 使用HTML截图并保存为本地图片的代码展示 10-31