IE 中不支持startsWith 方法有任何替代方法吗? [复制]

Posted

技术标签:

【中文标题】IE 中不支持startsWith 方法有任何替代方法吗? [复制]【英文标题】:startsWith method not supported in IE any replacement for this? [duplicate] 【发布时间】:2016-12-10 22:05:54 【问题描述】:
var s = "Main String";
s.startsWith("Main");

用类似的逻辑或任何其他对所有浏览器通用的方法替换 startWith。

【问题讨论】:

docs 包含一个 polyfill。 通常情况下,您应该在 在这里提出问题之前用 Google 搜索。 是的,你真的应该先用谷歌搜索一下。 【参考方案1】:

startsWith 的一个很好的替代品是使用s.substring(0, 4) == 'Main'

这应该可行,所以继续尝试吧。

【讨论】:

它的编码非常硬。【参考方案2】:

在String中添加原型方法:

String.prototype.myStartsWith = function(str)
 if(this.indexOf(str)===0)
  return true;
 else
   return  false;
 
;

现在打电话:

s.myStartsWith("Main");

【讨论】:

反对这样做的原因是它不如其他解决方案效率高吗? 记得在覆盖前检查是否存在:if (!String.prototype.startsWith) String.prototype.startsWith = function(searchString, position) return this.substr(position || 0, searchString.length) === searchString; ;

以上是关于IE 中不支持startsWith 方法有任何替代方法吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

TextTrackList onchange 事件在 IE 和 Edge 中不起作用

如果找不到源图像,如何显示替代图像? (在 IE 中工作但在 Mozilla 中不工作的错误)[重复]

Bootstrap 的 IE8 中不显示占位符

JavaScript Object.keys()方法替代与IE8的兼容性

TypeError:Object在IE 11中不支持此操作

Vue 2.x + Laravel 5.4 在资源管理器中不起作用