浅谈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 代码的方法小结
Jul 16 Javascript
javascript中万恶的function实例分析
May 25 Javascript
js操作checkbox遇到的问题解决
Jun 29 Javascript
JS二维数组的定义说明
Mar 03 Javascript
深入理解Ajax的get和post请求
Jun 02 Javascript
老生常谈 关于JavaScript的类的继承
Jun 24 Javascript
js实现各种复制到剪贴板的方法(分享)
Oct 27 Javascript
js编写的treeview使用方法
Nov 11 Javascript
JS原生轮播图的简单实现(推荐)
Jul 22 Javascript
JS非行间样式获取函数的实例代码
Jun 05 Javascript
vue.js实现的绑定class操作示例
Jul 06 Javascript
Ajax实现三级联动效果
Oct 05 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缓存设计实现代码
2011/09/30 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
php替换字符串中间字符为省略号的方法
2015/05/04 PHP
php 使用html5实现多文件上传实例
2016/10/24 PHP
Laravel Eloquent ORM 多条件查询的例子
2019/10/10 PHP
vue-router跳转页面的方法
2017/02/09 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
微信小程序实现倒计时补零功能
2018/07/09 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
JavaScript如何实现图片处理与合成
2020/05/29 Javascript
python实现数通设备tftp备份配置文件示例
2014/04/02 Python
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
python学习基础之循环import及import过程
2018/04/22 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
Python程序包的构建和发布过程示例详解
2019/06/09 Python
python 监控logcat关键字功能
2020/09/04 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
Python之多进程与多线程的使用
2021/02/23 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
html5 初试 indexedDB(推荐)
2016/07/21 HTML / CSS
Original Penguin英国官方网站:美国著名休闲时装品牌
2016/10/30 全球购物
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
金智子午JAVA面试题
2015/09/04 面试题
岗位职责的构建方法
2014/02/01 职场文书
战略合作意向书范本
2014/04/01 职场文书
美术教师个人工作总结
2015/02/06 职场文书
介绍信怎么写
2015/05/05 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
七年级数学教学反思
2016/02/17 职场文书
《抽屉原理》教学反思
2016/02/20 职场文书
一文搞懂MySQL索引页结构
2022/02/28 MySQL
python中数组和列表的简单实例
2022/03/25 Python