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


Posted in Javascript onMarch 01, 2017

在做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 函数不能在任何浏览器兼容的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript给span标签赋值的方法
Nov 26 Javascript
浅谈JavaScript 数据属性和访问器属性
Sep 01 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
Aug 31 Javascript
详解Web使用webpack构建前端项目
Sep 23 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
Mar 17 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
Sep 05 Javascript
Webpack之tree-starking 解析
Sep 11 Javascript
关于单文件组件.vue的使用
Sep 20 Javascript
对angular 实时更新模板视图的方法$apply详解
Oct 09 Javascript
微信小程序带动画弹窗组件使用方法详解
Nov 27 Javascript
微信小程序canvas分享海报功能
Oct 31 Javascript
JS实现transform实现扇子效果
Jan 17 Javascript
js实现拖拽功能
Mar 01 #Javascript
js实现下拉菜单效果
Mar 01 #Javascript
JS实现复制功能
Mar 01 #Javascript
node.js利用redis数据库缓存数据的方法
Mar 01 #Javascript
JS三目运算(三元运算)方法详解
Mar 01 #Javascript
vue-router 学习快速入门
Mar 01 #Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
Mar 01 #Javascript
You might like
PHP7下协程的实现方法详解
2017/12/17 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
网页中的图片的处理方法与代码
2009/11/26 Javascript
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
JS中表单的使用小结
2014/01/11 Javascript
js判断横竖屏及禁止浏览器滑动条示例
2014/04/29 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
Three.js学习之网格
2016/08/10 Javascript
JavaScript交换两个变量值的七种解决方案
2016/12/01 Javascript
详解Angular的数据显示优化处理
2016/12/26 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
BootStrap实现文件上传并带有进度条效果
2017/09/11 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
详解微信小程序input标签正则初体验
2018/08/18 Javascript
解决vue点击控制单个样式的问题
2018/09/05 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
详解javascript void(0)
2020/07/13 Javascript
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
python爬虫获取淘宝天猫商品详细参数
2020/06/23 Python
详解python中__name__的意义以及作用
2019/08/07 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
库存图片、照片、矢量图、视频和音乐:Shutterstock
2021/02/12 全球购物
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
社区安全检查制度
2014/02/03 职场文书
施工协议书范本
2014/04/22 职场文书
公司晚会策划方案
2014/05/17 职场文书
项目经理任命书内容
2014/06/06 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
工作失误检讨书
2015/01/26 职场文书
小学生安全教育心得体会
2016/01/15 职场文书