想知道我这样子写是不是不行啊?怎么运行都没用。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>string对象 </title>
<script type="text/javascript">
var mystr="Hello World!";
for(con=0;con<mystr.length-1;con++) //定义循环,循环长度控制在在字符串长度之中,并且每次获取o的位置的时候,再+1
{
con=mystr.indexOf('o',con); //获取 字符串中 "o"的位置
document.write(con); //输出o的位置。
}
</script>
</head>
<body>
</body>
</html>
这样子写的目的是为了找出字符串中的每一个字母o,并输出其位置。
上面代码我个人的想法就是,con从0开始循环,然后con获取了mystr中,第一个o的位置后,值为4。
那么就输出4,然后回到循环,con++,也就是4+1=5。
接下来继续执行 con=mystr.indexOf('o',con); ,这个时候的con应该是5,从5的位置开始搜索"o"。
接下来继续输出,这个时候应该是7。接下来再搜索就没有了。但是为什么不能执行呢?