<!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。接下来再搜索就没有了。但是为什么不能执行呢?
<!DOCTYPE HTML>
<html>
<head>
<script>
var abb="i love javascript!"
for(i=0;i<=abb.length-1;i++){
document.write("位置:"+abb.indexOf("a",i)+"<br />");
}
</script>
</head>
<body>
</body>
</html>
var mystr="Hello World!";
for(con=0;con<mystr.length-1;con++)
{
var ree;
ree=mystr.indexOf('o',con); //获取 字符串中 "o"的位置
document.write(ree+"<br/>"); //输出o的位置
}
程序有错,document换成alert 会一直弹出
document.write(mystr.indexOf('o',mystr.indexOf('o',mystr)+1));
可以简单点写
for(con=0;con<mystr.length-1;con++) con没有定义。for(var con=0;con<mystr.length-1;con++)