浅谈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 相关文章推荐
禁止js文件缓存的代码
Apr 09 Javascript
javascript实现div的显示和隐藏的小例子
Jun 25 Javascript
Firefox和IE兼容性问题及解决方法总结
Oct 08 Javascript
基于Jquery easyui 选中特定的tab
Nov 17 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
May 30 Javascript
javascript中replace使用方法总结
Mar 01 Javascript
Vue 全局loading组件实例详解
May 29 Javascript
详解Vue中使用Echarts的两种方式
Jul 03 Javascript
Vue一次性简洁明了引入所有公共组件的方法
Nov 28 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
May 09 Javascript
vue 路由子组件created和mounted不起作用的解决方法
Nov 05 Javascript
微信小程序弹窗禁止页面滚动的实现代码
Dec 30 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
基于mysql的论坛(6)
2006/10/09 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
PHP读书笔记_运算符详解
2016/07/01 PHP
Yii redis集合的基本使用教程
2020/06/14 PHP
js 无提示关闭浏览器页面的代码
2010/03/09 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
javascript判断是手机还是电脑访问网页的简单实例分享
2014/06/03 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
深入理解vue-class-component源码阅读
2019/02/18 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
vue 限制input只能输入正数的操作
2020/08/05 Javascript
基于python的汉字转GBK码实现代码
2012/02/19 Python
python计算最小优先级队列代码分享
2013/12/18 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
2015/10/18 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
python正则实现计算器功能
2017/12/14 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
计算机工程学院个人求职信
2013/10/05 职场文书
酒店执行总经理岗位职责
2013/12/15 职场文书
个人委托书格式
2014/04/04 职场文书
法院授权委托书格式
2014/09/28 职场文书
财务工作个人总结
2015/02/27 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
2015年全国科普日活动总结
2015/03/23 职场文书
未中标通知书
2015/04/17 职场文书
《平行四边形的面积》教学反思
2016/02/16 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
Window server中安装Redis的超详细教程
2021/11/17 Redis