142
A
回答
163
如果您需要正則表達式,請使用search()
。否則,indexOf()
會更快。
27
7
12
搜索功能(one description here)需要一個正則表達式,它允許你來匹配更復雜的patters,不區分大小寫字符串等等,而indexOf(one description here)只是簡單地匹配一個文字字符串。但是,indexOf還允許您指定開始索引。
2
0
如果沒有regex,有indexOf和search之間沒有實際區別。
下面的例子給出了一個現場demo:
function FromSearch() {
var str = document.getElementById("demo").innerText;
var n = str.search("difference");
document.getElementById("Location").innerHTML = n;
}
function FromindexOf() {
var str = document.getElementById("demo").innerText;
var n = str.indexOf("difference");
document.getElementById("Location").innerHTML = n;
}
<p id="demo">Without a <a href='http://www.w3schools.com/js/js_regexp.asp'>regex</a>, there is no practical difference between <a href='http://www.w3schools.com/jsref/jsref_indexof.asp'>indexOf</a> and <a href='http://www.w3schools.com/jsref/jsref_search.asp'>search</a>
</p>
<button onclick="FromSearch()">From search</button>
<button onclick="FromindexOf()">From indexOf</button>
<p>Location of difference in the above sentence is:</p>
<mark id="Location"></mark>
3
的IndexOf() - 它接受字符串文字或字符串對象,但不正則表達式。它還接受從零開始的整數值以開始其搜索,例如:
- 「babyelephant」.indexOf(「e」); //給你4
- 「babyelephant」.indexOf(「e」,5); //給你6,因爲搜索 從第6位或第5位索引開始。
- var m =/e /; 「babyelephant」 .indexOf(米); //給出-1,因爲它不接受 接受正則表達式。
Search() - 接受字符串文字或字符串對象以及正則表達式。但它不接受索引來開始搜索。
相關問題
- 1. ||之間有什麼區別?和|在R?
- 2. luceneappengine和search api有什麼區別?
- 3. 在JavaScript中的if語句==和===之間有什麼區別?
- 4. 在JavaScript中,運算符'〜'和'!'之間有什麼區別?
- 5. 在JavaScript中,t.onclick = doSomething和t.onclick = doSomething()之間有什麼區別?
- 6. 「層」和「層」之間有什麼區別?
- 7. Tableau和QlikView之間有什麼區別
- 8. Microsoft.CompilerServices.AsyncTargetingPack和Microsoft.Bcl.Async之間有什麼區別?
- 9. @Entity和@embeddable之間有什麼區別
- 10. ContentObservable和DataSetObservable之間有什麼區別?
- 11. touchmove和gesturechange之間有什麼區別?
- 12. :notification.flags和notification.defaults之間有什麼區別?
- 13. proc和lambda之間有什麼區別?
- 14. :: after和after之間有什麼區別?
- 15. read()和io.read()之間有什麼區別?
- 16. Request()和Request.Form()之間有什麼區別?
- 17. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之間有什麼區別?
- 18. getA()和this.getA()之間有什麼區別?
- 19. (int)和intval()之間有什麼區別?
- 20. set_value和= pandas之間有什麼區別
- 21. * zoom和zoom之間有什麼區別?
- 22. {0}和「」之間有什麼區別?
- 23. typedef和using之間有什麼區別?
- 24. 「」和「'之間有什麼區別?
- 25. STDIN和tty之間有什麼區別?
- 26. +和%之間有什麼區別?
- 27. sysfs_create_file()和sysfs_create_group()之間有什麼區別?
- 28. Lazy.Force()和Lazy.Value之間有什麼區別
- 29. -existingObjectWithID:error:和-objectWithID之間有什麼區別?
- 30. ReleaseFloatArrayElements和DeleteLocalRef之間有什麼區別
任何引用來支持這個說法? – robisrob 2016-01-13 17:30:37
此外,即使您不想要,「搜索」也會將字符串評估爲正則表達式。 – cregox 2016-07-13 15:59:18
@ cregox的評論很重要 - 試試``你好。「。search(」。「)` - 它返回0,而不是5,因爲`。`是「任何字符」的正則表達式標記 – JoeRocc 2017-06-22 03:05:15