栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

检查字符串的最快方法是在JavaScript中包含另一个子字符串?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

检查字符串的最快方法是在JavaScript中包含另一个子字符串?

您有两个可能性:

  1. 正则表达式:

    (new RegExp('word')).test(str)

    // or
    /word/.test(str)

  2. indexOf

    str.indexOf('word') !== -1

更新:

不能肯定地说哪种方法更快。浏览器之间的差异是巨大的。虽然在Chrome 10中

indexOf
似乎更快,但在Safari 5
indexOf
中显然比任何其他方法都慢。

您必须看到并尝试自我。这取决于您的需求。例如 ,不区分大小写的 搜索使用正则表达式会更快。


更新2018:

为了使人们免于自己运行测试,以下是大多数常见浏览器的当前结果,这些百分比表示性能比第二快的结果有所提高(在不同的浏览器中有所不同):

Chrome: indexOf(〜98%快)

<-- wow

Firefox: 缓存RegExp(
〜18 %快) IE11: 缓存RegExp(〜10%快)
Edge: indexOf(〜18%快)
Safari: 缓存RegExp(〜0.4%快)

请注意, 缓存的RegExp 是:

var r = new RegExp('simple'); var c =r.test(str);
相对于:
/simple/.test(str)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/575118.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号