var mystr="Hello World!" for(i=0;i<mystr.length;i++){ document.write(mystr.indexOf("o",mystr.indexOf("o")+1)); }
<!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(i=0;i<mystr.length;i++){ document.write(mystr.indexOf("o",mystr.indexOf("o")+1); } </script> </head> <body> </body> </html>
你虽然设置了循环,但循环完全没有起到改变indexOf检索的起始位置的作用啊,你每次循环都是再次从第一个位置开始检索
var mystr="Hello World!"
var num1=0;
for(i=0;i<mystr.length;i++){
if(( num1=mystr.indexOf("o",num1+1))<0)
{break;}
else{
document.write(num1);
}
}