首頁 >web前端 >js教程 >JavaScript中indexOf與search的差異詳解

JavaScript中indexOf與search的差異詳解

黄舟
黄舟原創
2017-12-04 14:17:062877瀏覽

在我們前一篇文章中我們給大家介紹了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的使用詳解


JavaScript中關於indexof的使用詳解


######indexOf()使用方法以及與jQuery.inArray()的區別#################

JavaScript 陣列中的 indexOf 方法詳解

#

以上是JavaScript中indexOf與search的差異詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn