JavaScript字符串indexOf方法浅析

来源:互联网 发布:安卓手机优化软件 知乎 编辑:程序博客网 时间:2024/06/02 07:27

定义和用法

indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。

语法

stringObject.indexOf(searchvalue,fromindex)

参数 描述 searchvalue 必需。规定需检索的字符串值。 fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。

说明

该方法将从头到尾地检索字符串stringObject,看它是否含有子串searchvalue。开始检索的位置在字符串的fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个searchvalue,则返回 searchvalue的第一次出现的位置。stringObject中的字符位置是从0开始的。

提示和注释

注释:indexOf()方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回-1。

易错点

如果要判断stringObject中是否包含searchvalue,推荐用!=-1来判断,因为使用>=0判断时容易写成>=。(我当时就因为这个错误,排查了很久,尴尬!)

实例

<!DOCTYPE html><html><head>    <meta charset="utf-8"></head><style></style><body></body><script type="text/javascript" src="jquery-3.0.0.min.js"></script><script type="text/javascript">    $(function () {        var str = "123456789";        $("body").append(str + ".indexOf(\"1\") >= 0 is " + (str.indexOf("1") >= 0) + "<br/>");        $("body").append(str + ".indexOf(1,\"1\") != -1 is " + (str.indexOf(1, "1") != -1) + "<br/>");        $("body").append(str + ".indexOf(\"0\") != -1 is " + (str.indexOf("0") != -1) + "<br/>");    });</script></html>

输出

123456789.indexOf("1") >= 0 is true123456789.indexOf(1,"1") != -1 is false123456789.indexOf("0") != -1 is false

参考:http://www.w3school.com.cn/jsref/jsref_indexOf.asp

原创粉丝点击