浅谈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 相关文章推荐
jquery 得到当前页面高度和宽度的两个函数
Feb 21 Javascript
js原生appendChild的bug解决心得分享
Jul 01 Javascript
js中call与apply的用法小结
Dec 28 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
Oct 16 Javascript
JavaScript实现列出数组中最长的连续数
Dec 29 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
Nov 25 Javascript
AngularJS  自定义指令详解及实例代码
Sep 14 Javascript
bootstrap下拉菜单使用方法解析
Jan 13 Javascript
js实现增加数字显示的环形进度条效果
Feb 05 Javascript
简单了解node npm cnpm的具体使用方法
Feb 27 Javascript
js实现一款简单踩白块小游戏(曾经很火)
Dec 02 Javascript
你不知道的 TypeScript 高级类型(小结)
Aug 28 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 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
很多人都是用下面的js刷新站IP和PV
2008/09/05 Javascript
js getElementsByTagName的简写方式
2010/06/27 Javascript
JQuery datepicker 使用方法
2011/05/20 Javascript
js控制CSS样式属性语法对照表
2012/12/11 Javascript
jquery easyui中treegrid用法的简单实例
2014/02/18 Javascript
jQuery中复合属性选择器用法实例
2014/12/31 Javascript
JS实现的网页倒计时数字时钟效果
2015/03/02 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
js仿淘宝评价评分功能
2017/02/28 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
python中django框架通过正则搜索页面上email地址的方法
2015/03/21 Python
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
深入讲解Python中面向对象编程的相关知识
2015/05/25 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
python opencv摄像头的简单应用
2019/06/06 Python
用python打印1~20的整数实例讲解
2019/07/01 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
使用python操作lmdb对数据读取的实例
2020/12/11 Python
Shopbop中文官网:美国亚马逊旗下时尚购物网站
2020/12/15 全球购物
技术经理的自我评价范文
2013/12/03 职场文书
刚毕业大学生自荐信范文
2014/02/20 职场文书
大学活动总结范文
2014/04/29 职场文书
公司任命书模板
2014/06/06 职场文书
销售员试用期自我评价
2014/09/15 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
检察院起诉意见书
2015/05/20 职场文书
春风化雨观后感
2015/06/11 职场文书
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript