浅谈js中startsWith函数不能在任何浏览器兼容的问题

简介:

在做js测试的时候用到了startsWith函数,但是他并不是每个浏览器都有的,所以我们一般要重写一下这个函数,具体的用法可以稍微总结一下。

在有些浏览器中他是undefined 所以我们可以这样的处理一下

 
 
  1. if (typeof String.prototype.startsWith != 'function') { 
  2.   String.prototype.startsWith = function (prefix){ 
  3.   return this.slice(0, prefix.length) === prefix; 
  4.   }; 

这个需要放在页面刚要加载完成的函数里,不然不好使。

还有一种直接重写 不过我没测试过,你们可以测试一下:

 
 
  1. String.prototype.startWith=function(str){  
  2.  if(str==null||str==""||this.length==0||str.length>this.length)  
  3.   return false;  
  4.  if(this.substr(0,str.length)==str)  
  5.    return true;  
  6.  else 
  7.    return false;  
  8.  return true;  

有的说js中没有startsWith 和endWith这两个函数不过就算不声明有些浏览器他还是可以用的,不过为了兼容性还是希望重写一下。

 
 
  1. if (typeof String.prototype.endsWith != 'function') { 
  2.  String.prototype.endsWith = function(suffix) { 
  3.  return this.indexOf(suffix, this.length - suffix.length) !== -1; 
  4.  }; 

采用正则表达式实现startWith、endWith效果函数

 
 
  1. String.prototype.startWith=function(str){ 
  2. var reg=new RegExp("^"+str); 
  3. return reg.test(this); 
  4. //测试ok,直接使用str.endWith("abc")方式调用即可 
  5. String.prototype.endWith=function(str){ 
  6. var reg=new RegExp(str+"$"); 
  7. return reg.test(this); 
  8. }  

以上这篇浅谈js中startsWith 函数不能在任何浏览器兼容的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,





作者:jingxian
来源:51CTO
目录
相关文章
|
17天前
|
JavaScript
js中readAsDataURL的意思,可以用于浏览器预览图像文件或者转成base64字符串
js中readAsDataURL的意思,可以用于浏览器预览图像文件或者转成base64字符串
js中readAsDataURL的意思,可以用于浏览器预览图像文件或者转成base64字符串
|
19天前
|
存储 前端开发 安全
JavaScript进阶 - 浏览器存储:localStorage, sessionStorage, cookies
【7月更文挑战第2天】探索Web存储:localStorage持久化,sessionStorage会话限定,cookies则伴随HTTP请求。了解它们的特性和限制,如localStorage的5MB容量限制、跨域问题,sessionStorage的生命周期,及cookies的安全与带宽消耗。使用时需权衡安全、效率与应用场景。示例代码展示存储与检索方法。
|
19天前
|
JavaScript
js函数封装 —— 金额添加千分位分隔符
js函数封装 —— 金额添加千分位分隔符
16 2
|
13天前
|
存储 JavaScript 前端开发
JavaScript进阶 - 浏览器存储:localStorage, sessionStorage, cookies
【7月更文挑战第8天】Web开发中的客户端存储技术,如`localStorage`, `sessionStorage`和`cookies`,用于保存用户设置和跟踪活动。`localStorage`持久化存储,`sessionStorage`随页面会话消失。两者提供基本的增删查改操作,但有大小限制和安全风险。`cookies`适合会话管理,可设置过期时间并能跨域。使用时注意存储量、安全性和跨域策略,选择适合场景的存储方式。
|
16天前
|
存储 Web App开发 JavaScript
浏览器【详解】Cookie(含Cookie的起源,属性,个数和大小限制,作用,优点,缺点,JS 的操作方法等)
浏览器【详解】Cookie(含Cookie的起源,属性,个数和大小限制,作用,优点,缺点,JS 的操作方法等)
14 0
|
16天前
|
JavaScript
js 延时执行代码的最佳实践 —— 自定义 sleep 函数
js 延时执行代码的最佳实践 —— 自定义 sleep 函数
13 0
|
17天前
|
JavaScript
js 高频实用函数封装汇总(持续更新)
js 高频实用函数封装汇总(持续更新)
13 0
|
18天前
|
JavaScript
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
13 0
|
18天前
|
JavaScript
js 调试 —— 断点(含进入函数、条件断点等)
js 调试 —— 断点(含进入函数、条件断点等)
19 0
|
18天前
|
JavaScript
JS【详解】函数.bind()
JS【详解】函数.bind()
7 0