javascript - 判断某个字符串是否存在,是reg.test快还是str.indexOf快?
黄舟
黄舟 2017-04-11 11:10:35
[JavaScript讨论组]

判断某些字符是否存在于一个字符串内,据我所知有两种方法:

  • 正则的test方法
    /str/.test('testedString')

  • 字符串的indexOf方法
    'testString'.indexOf(str)

那么具体就性能来说,哪种方法执行速度更快一些呢?

另外,是否有通用的性能测试的站点之类的?

哈哈 楼下说得没错,确实应该把时间花在更有意义的事情上

另外测试结果已出,indexOfreg.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);
})()
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(1)
怪我咯

我的理解indexOf应该更快一点,但这种比较实在没必要,客户端脚本(即便是node写的服务端脚本),这种比较带来的性能提升也微乎其微。有时间研究这种性能差异,还不如研究下代码哪里还有结构问题,如何重构能使代码更清晰,更健壮来的有价值。

以上言论纯属个人意见,不同意可忽略^^

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号