浅谈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 相关文章推荐
超清晰的document对象详解
Feb 27 Javascript
top.location.href 没有权限 解决方法
Aug 05 Javascript
js实现同一页面多个不同运动效果的方法
Apr 10 Javascript
javascript封装简单实现方法
Aug 11 Javascript
基于jQuery实现动态搜索显示功能
May 05 Javascript
深入理解JavaScript内置函数
Jun 03 Javascript
Vue.JS入门教程之自定义指令
Dec 08 Javascript
详解VueJS 数据驱动和依赖追踪分析
Jul 26 Javascript
Vue 路由 过渡动效 数据获取方法
Jul 31 Javascript
JS实现的合并两个有序链表算法示例
Feb 25 Javascript
解决VUE双向绑定失效的问题
Oct 29 Javascript
解决Vue-cli3没有vue.config.js文件夹及配置vue项目域名的问题
Dec 04 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中关于普通表单多文件上传的处理方法
2011/03/25 PHP
php实现文件下载(支持中文文名)
2013/12/04 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
在Nginx上部署ThinkPHP项目教程
2015/02/02 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
php swoole多进程/多线程用法示例【基于php7nts版】
2019/08/12 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
JavaScript模拟鼠标右键菜单效果
2020/12/08 Javascript
Javascript下拉刷新的简单实现
2017/02/14 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
python定时执行指定函数的方法
2015/05/27 Python
Python的网络编程库Gevent的安装及使用技巧
2016/06/24 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
python实现随机漫步方法和原理
2019/06/10 Python
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
营业员实习自我鉴定
2013/12/07 职场文书
创业计划书中包含的9个方面
2013/12/26 职场文书
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
承诺书的格式范文
2014/03/28 职场文书
团日活动总结书格式
2014/05/08 职场文书
教师考核材料
2014/05/21 职场文书
高考标语大全
2014/06/05 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
毕业生党员个人总结
2015/02/14 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
吴仁宝观后感
2015/06/09 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
速龙x4-860k处理器相当于i几
2022/04/20 数码科技