*循环:做重复的事情,在次数上出错,枯燥乏味。但可以让我们快速实现代码的重复多次的执行、循环。
for循环:能精确控制次数的循环(使用在批量化操作)
一、模型: for(A; B; C){
D
}
1.固定次数循坏的标准写法:
let length=1;//循环5次。
//为什么要从0开始: JS都是这样定义的,方便后续批量化操作
for(let i = 0;i < length; i++){/表示循环的次数
console. log("你真666");
}
2.注意:在使用for循环时一定要搞明白"i"代表什么?
二、A B C D 这四个部分是什么含义?
1.B:循环的结束条件:需要有一个布尔类型:
true 循环没有结束
false 循环结束了
2. C:循环单次之后的状态改变(单次循环最后做的事情)
3. D需要被循环的代码
4. A 循环的初始化,只会执行一次
三、注意事项:BD不可少(因为B是结束条件,如果没有结束条件,就会出现死循环),并且两个分号必须加上,for(;;)分号里面无论有没有写内容都要加上。for循环都是先判断再执行代码的
现在有ABCD块代码区域,所执行顺序的顺序如下:A -> (B-> D-> C)… B
四、例如
1.//求数组里面第一个元素arr[0] arr[1]
let arr=[1,2,3,4,5,6];
// console. log(arr[5]) arr .length数组的长度,数组自带的属性
for(let i = 0;i <arr. length; i++){
console.log(arr[i]); //一定是从0开始直到 length-1为 止
//输出1 2 3 4 5 6
}
2.高端讨打的for循环:
//循环打印数组里面的每一项
let arr = ["sherry", "真好","呀"]
let i=0
for(;i <arr.length;){
console.log(arr[i])
i++
}//输出 sherry真好呀
//注意:a和c可有可无的,bd一定要
或者
let arr = ["sherry", "真好", "呀"]
let i=0;
for(;arr[i];){
console. log(arr[i++]);
}
或者
let arr = ["sherry", "真好", "呀"]
let i=0;
for(;obj=arr[i++];){
console.log(obj);
}
3.//需要在ul标签里面添加1i标签li标签里面是数组里面的每一项的内容
let arr=[
"A商品",
"B商品",
"C商品",
]
let ul = document . querySelector(" .list")
for(let i = 0;i < arr.length; i++){
let li = "<li>" + arr[i] + "</li>"
ul. innerHTML += li/ul.innerHTML=ul.innerHTML+li //在ul的标签里面结尾添加一个li对应的字符申
}
//输出结果是: .A商品
.B商品
.C商品
//使用:console. log(u1. innerHTML);打印的结果
在ul的标签里面结尾添加一个li对应的字符申
4.//添加的元素C B A
let ul = document.querySelector(".list")
for(let i = 0;i <arr.length;i++){ //循环次数
let li = "<li>" + arr[i] + "</li>"
ul.innerHTML = li + ul. innerHTML // 在ul的标签里面结尾添加一个l对应的字符串,在把添加的li放置A商品前面
}
//输出结果是: .C商品
.B商品
.A商品
五、1.do while 先执行一次循环体,再判断 …
let i = 5;
do {
// console.log(1);//输出1
i++;
} while (i<4);
console.log(i)//输出6,先执行i++再判断i<4
2.while 先判断,再决定要不要执行循环体,再判断 … (比do while常用)
let i = 5;
while (i<4){
// console.log(1);//为空
i++;
}
// console.log(1);//输出1
console.log(i);//输出5
六、*循环嵌套:循环里面写循环
1.注意:常见的循环嵌套变量:i j k
嵌套需要写两个不同的变量
2.规定:外层循坏一次,里面循环完一遍,总循环次数是乘积
例如:
for(leti=0;1<5;i++){
for(leti=0;1<5;i++){
for(let k = 0; k < 10;k++){
console. log("1")
}
}
}
//输出结果:350 即是:5*7*10
for(let i = 0;i < 5;i++){
for(let j = 0;j < 7;j++){
//i,j用i和j写一个表达式,打印出0-34
let count=i * 7 + j//需要记住
console.log(count);
}
}
//打印console.log(i,j);
如果把i当作十位数,j当作个位数,则满七进一;则得到如下的图