浅谈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 相关文章推荐
有关DOM元素与事件的3个谜题
Nov 11 Javascript
使用Jquery Aajx访问WCF服务(GET、POST、PUT、DELETE)
Mar 16 Javascript
原生javascript兼容性测试实例
Jul 01 Javascript
分享我的jquery实现下拉菜单心的
Nov 29 Javascript
javascript实现一个简单的弹出窗
Feb 22 Javascript
Angularjs分页查询的实现
Feb 24 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
Jul 07 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
Dec 23 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
Sep 10 Javascript
Javascript中弹窗confirm与prompt的区别
Oct 26 Javascript
JavaScript函数的4种调用方法实例分析
Mar 05 Javascript
jquery实现图片放大镜效果
Dec 23 jQuery
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
PHP 编程的 5个良好习惯
2009/02/20 PHP
PHP 图片上传实现代码 带详细注释
2010/04/29 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
JavaScript delete操作符应用实例
2009/01/13 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
javascript-解决mongoose数据查询的异步操作
2016/12/22 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
将angular.js项目整合到.net mvc中的方法详解
2017/06/29 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
vue环形进度条组件实例应用
2018/10/10 Javascript
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
vc6编写python扩展的方法分享
2014/01/17 Python
Python利用前序和中序遍历结果重建二叉树的方法
2016/04/27 Python
浅析Git版本控制器使用
2017/12/10 Python
python编写朴素贝叶斯用于文本分类
2017/12/21 Python
Python Tkinter模块实现时钟功能应用示例
2018/07/23 Python
Pycharm远程调试原理及具体配置详解
2019/08/08 Python
python中os包的用法
2020/06/01 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
naturalizer加拿大官网:美国娜然女鞋
2017/04/04 全球购物
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
致铅球运动员广播稿精选
2014/01/12 职场文书
学生实习介绍信
2014/01/15 职场文书
学生感冒英文请假条
2014/02/04 职场文书
药品采购员岗位职责
2014/02/08 职场文书
初中英语课后反思
2014/04/25 职场文书
本科毕业生自荐信
2014/05/26 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
材料化学专业求职信
2014/07/15 职场文书
感谢信范文大全
2015/01/23 职场文书
幼儿园辞职书
2015/02/26 职场文书
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript