javascript - 判断某个字符串是否存在,是reg.test快还是str.indexOf快?
本文介绍了javascript - 判断某个字符串是否存在,是reg.test快还是str.indexOf快?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
判断某些字符是否存在于一个字符串内,据我所知有两种方法:
正则的
test
方法/str/.test('testedString')
字符串的
indexOf
方法'testString'.indexOf(str)
那么具体就性能来说,哪种方法执行速度更快一些呢?
另外,是否有通用的性能测试的站点之类的?
哈哈 楼下说得没错,确实应该把时间花在更有意义的事情上
另外测试结果已出,indexOf
比reg.test
快2倍多
(function(){
var now = new Date()-1
var i = 10E6;
while(i--){
/my/.test('mystring'); //~1400ms
'myString'.indexOf('my');//~600ms
}
console.log(new Date() - 1 - now);
})()
解决方案
我的理解indexOf
应该更快一点,但这种比较实在没必要,客户端脚本(即便是node
写的服务端脚本),这种比较带来的性能提升也微乎其微。有时间研究这种性能差异,还不如研究下代码哪里还有结构问题,如何重构能使代码更清晰,更健壮来的有价值。
以上言论纯属个人意见,不同意可忽略^^
这篇关于javascript - 判断某个字符串是否存在,是reg.test快还是str.indexOf快?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文