本文主要是介绍扩展ie中不兼容的startsWith,endsWith方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近发现之前项目的代码在ie11下没法正常运行,报的错是
对象不支持“startsWith”属性或方法
之后我顺便也试了下endsWith,发现也不行
之前看javascript权威指南时,里面说过可以通过扩展原型方法来添加一些操作
网上找了个链接https://www.jb51.net/article/45419.htm参考下。
我的总体思路是:1.如果浏览器支持startsWith方法,就用原有的;如果不支持,就用自己扩展的(可以通过短路操作||来实现)
2.找的链接里是纯手工实现,我采用正则来进行首尾匹配,代码相对简洁些
修改后的代码如下:
String.prototype.startsWith = String.prototype.startsWith || function (str) {var reg = new RegExp("^" + str);return reg.test(this);
}
String.prototype.endsWith = String.prototype.endsWith || function (str) {var reg = new RegExp(str + "$");return reg.test(this);
}
把上面的代码放到一个公共js文件里(比如:common.js),然后让这个js在你会用到的startsWith和endsWith的地方之前加载就可以了
参考链接:https://www.jb51.net/article/45419.htm
这篇关于扩展ie中不兼容的startsWith,endsWith方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!