作为JavaScript的新手,我不知道什么时候使用它们。
有人能帮我解释一下吗?
作为JavaScript的新手,我不知道什么时候使用它们。
有人能帮我解释一下吗?
当前回答
indexOf用于普通子字符串,search用于正则表达式。
其他回答
如果您的情况需要使用正则表达式,则使用search()方法,否则;indexOf()方法性能更好。
indexOf用于普通子字符串,search用于正则表达式。
搜索发现它与正则表达式匹配,但没有偏移量。IndexOf使用字面量进行匹配,但有一个偏移量。
IndexOf
搜索
IndexOf() -它接受字符串字面量或字符串对象,但不接受正则表达式。它还接受一个从零开始的整数值来开始搜索,例如:
“babyelephant .indexOf(“e”);//得到4 “babyelephant .indexOf(“e”,5);//搜索结果为6 从第6个位置或第5个索引开始。 Var m= /e/;“babyelephant .indexOf (m);//给出-1,因为它没有 接受正则表达式。
Search() -接受字符串字面量或字符串对象和正则表达式。但是它不接受开始搜索的索引。
indexOf()和search()
两者都有 I)返回第一个出现的搜索值 Ii)如果没有找到匹配则返回-1 让str='书已预订交付' str.indexOf('b') //返回位置8 Str.search ('b') //返回位置8
indexOf()中的特殊值 I)你可以把起始搜索位置作为第二个参数 str.indexOf('k') // 3 str.indexOf('k',4) // 11(从第4个位置开始搜索)
特殊搜索()
搜索值可以是正则表达式
str.search('book') // 8
str.search(/book/i) // 0 ( /i =case-insensitive (Book == book)
参考