首页 >web前端 >js教程 > 正文

JavaScript中indexOf与search的区别详解

原创2020-10-20 15:57:230491
在我们前一篇文章中我们给大家介绍了indexof的使用详解,相信小伙伴们对此都不陌生、indexof判断字符串是否包涵子字符串时特别常用,正则不熟练同学的利器。今天我们就继续给大家介绍下JavaScript中indexOf与search的区别详解!

IndexOf()方法是用来判断一个字符串是否存在于一个更长的字符串中。从长字符串左端到右端来搜索,如果存在该子字符串就返回它所处的位置(即索引)。如果在被搜索的字符串没有找到要查找的字符串返回-1。注意,这里的位置应当填写索引值。所有的字符串索引都是从零开始,第一个字符的位置就是0,终点位置就是字符串的长度减去1。

该方法等价于C语言中的strstr函数及Visual Basic语言中的inStr函数。这个方法也有一个相应的函数,即lastIndexOf(),从长字符串的右端搜索。

那么问题来了,search()方法也是同样返回目标自字符串索引值的。indexOf()和search()有什么区别呢?为什么时候该使用它,什么时候该使用search()这个方法呢?

首先要明确search()的参数必须是正则表达式,而indexOf()的参数只是普通字符串。indexOf()是比search()更加底层的方法。

如果只是对一个具体字符串来查找,那么使用indexOf()的系统资源消耗更小,效率更高;如果是查找具有某些特征的字符串(比如查找以a开头,后面是数字的字符串),那么indexOf()就无能为力,必须要使用正则表达式和search()方法了。

很多时候用indexOf()不是为了真的想知道子字符串的位置,而是想知道长字符串中没有包含这个子字符串。如果返回索引值是-1,那么说明没有:不等于-1,那么就是有。

所以一般情况下indexOf比search更省资源。

总结:

相信大家通过本文的学习对indexOf与search的区别有了进一步的了解、希望对你的工作有所帮助!

相关推荐:

JavaScript中关于indexof的使用详解


indexOf()使用方法以及与 jQuery.inArray()的区别


JavaScript 数组中的 indexOf 方法详解

以上就是JavaScript中indexOf与search的区别详解的详细内容,更多请关注php学习网其它相关文章!

phpStudy Linux 面板(小皮面板)
  • 相关标签:JavaScript indexOf search
  • 本文原创发布php学习网,转载请注明出处,感谢您的尊重!
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    php学习网

    认证0级讲师

    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类