浅谈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 相关文章推荐
textarea的value是html文件源代码,存成html文件的代码
Apr 20 Javascript
javascript预览上传图片发现的问题的解决方法
Nov 25 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
Feb 19 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
Jul 18 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
Sep 02 Javascript
jquery中push()的用法(数组添加元素)
Nov 25 Javascript
javascript 获取浏览器版本
Jan 21 Javascript
JavaScript中的原型prototype属性使用详解
Jun 05 Javascript
js实现下拉框效果(select)
Mar 28 Javascript
JavaScript基础之流程控制语句的用法
Aug 31 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
Nov 06 Javascript
8个非常实用的Vue自定义指令
Dec 15 Vue.js
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 mysql Errcode: 28 终极解决方法
2009/07/01 PHP
PHP+jQuery翻板抽奖功能实现
2015/10/19 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
JQuery 引发两次$(document.ready)事件
2010/01/15 Javascript
Javascript中Array用法实例分析
2015/06/13 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
JS中的phototype详解
2017/02/04 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
如何在vue 中使用柱状图 并自修改配置
2021/01/21 Vue.js
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
详解Python中的strftime()方法的使用
2015/05/22 Python
Python 备份程序代码实现
2017/03/06 Python
基于Django用户认证系统详解
2018/02/21 Python
简单谈谈Python的pycurl模块
2018/04/07 Python
python实现简单名片管理系统
2018/11/30 Python
python下载微信公众号相关文章
2019/02/26 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
python/golang 删除链表中的元素
2020/09/14 Python
瑞贝卡·泰勒官方网站:Rebecca Taylor
2016/09/24 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
大一期末自我鉴定
2013/12/13 职场文书
无工作经验者个人求职信范文
2013/12/22 职场文书
一年级学生评语大全
2014/04/21 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
贷款担保书范本
2015/09/22 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python