for循环的()里面的条件,除了可以理解成遍历数组中每个数据,还可以理解成,循环的次数,重复循环体的次数,限制并控制循环体不至于一直循环下去。
while循环 ()里面是:是否进入这个循环的条件,每一次循环,循环体里面的计数器变量有变化(累加),然后()里的计数器变量有变化(累加),导致计数器变量可能不满足()里面的循环条件,如果不符合了,就不再循环了。向循环之后的代码进行。
()里面的,也是控制循环次数的条件
//案例2:找到这个字符串中所有的 o 出现的位置
var str2 = "hello wod odd ott fbo nhyo";
var index = 0;//开始的位置
var key = "o";//要找的字符串
while ((index = str2.indexOf(key, index)) != -1) {//如果是-1情况,说明找完了
console.log(index);
index += key.length;
}
//4 7 10 14 20 25
//var index=str2.indexOf("o",0);
//console.log(index);
流程控制
从上到下,顺序进行。
分支进行。
循环进行。
//通过函数实现冒泡排序
function sortArray(arr) {
//控制比较的轮数(并不是控制每次比较的数字)
for (var i = 0; i < arr.length - 1; i++) {
//控制每一轮的比较次数
for (var j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}//end if
}//end for
}//end for
return arr;
}
console.log(sortArray([0, 19, 34, 10, 100, 2]));