浅谈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 相关文章推荐
ExtJS 2.0实用简明教程 之获得ExtJS
Apr 29 Javascript
JavaScript设计模式学习之“类式继承”
Mar 12 Javascript
JS实现适合于后台使用的动画折叠菜单效果
Sep 21 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
Jan 08 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
Sep 08 Javascript
再谈javascript常见错误及解决方法
Sep 16 Javascript
JavaScript实现页面定时刷新(定时器,meta)
Oct 12 Javascript
Javascript 正则表达式校验数字的简单实例
Nov 02 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 Javascript
vue页面切换到滚动页面显示顶部的实例
Mar 13 Javascript
手把手教你使用TypeScript开发Node.js应用
May 06 Javascript
vue移动端的左右滑动事件详解
Jun 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
PHP新手上路(五)
2006/10/09 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
javascript-TreeView父子联动效果保持节点状态一致
2007/08/12 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
2016/05/10 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
使用cropper.js裁剪头像的实例代码
2017/09/29 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
基于vue-draggable 实现三级拖动排序效果
2020/01/10 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
python3生成随机数实例
2014/10/20 Python
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
2015/03/06 Python
Python程序中使用SQLAlchemy时出现乱码的解决方案
2015/04/24 Python
python二分查找算法的递归实现方法
2016/05/12 Python
在cmd中运行.py文件: python的操作步骤
2018/05/12 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
Python编写合并字典并实现敏感目录的小脚本
2019/02/26 Python
详解Python文件修改的两种方式
2019/08/22 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
用Python实现职工信息管理系统
2020/12/30 Python
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
Linux如何修改文件和文件夹的权限
2012/06/27 面试题
数字天堂软件测试面试题
2012/12/23 面试题
教师师德教育的自我评价
2013/10/31 职场文书
中国好声音广告词
2014/03/18 职场文书
社区娱乐活动方案
2014/08/21 职场文书
副总经理岗位职责范本
2014/09/30 职场文书
2014年村委会工作总结
2014/11/24 职场文书