for的循环
// 语法:
for(声明记录循环次数的变量;循环条件;变化值){
循环体}
// 细节:
1.第一次执行for的时候,变化量是不执行的
2.继续循环的时候,不再执行初始化过程;(先变化量,再判断条件)
// 利用for循环输出1-100岁
for(let age = 1 ;age <= 100 ;age++){
console.log(age);
}
扩展:
1.声明变量初始值,可以提到外面
2.变化量,可以在循环体内 主动执行
let age = 1;
for(;age<=100;){
console.log(age);
age++;
}
问题:什么时候使用 for循环; 什么时候使用 while循环 比较好?
- 关注点是 循环次数,使用for循环比较好
- 关注点是 循环条件, 使用while循环比较好
循环中断
continue:中断本当前循环,继续下一次循环
break:中断,终止整个循环
for(let num = 1 ; num < 100 ; num++){
if(num == 7){
continue
// break
}
console.log(num)}
循环嵌套
一个循环里再套一个循环,一般用在for循环里
语法:
for(外部声明记录循环次数的变量;循环条件;变化值){for(内部声明记录循环次数的变量;循环条件;变化值){循环体}}
for(let day = 1; day <= 3; day++){
document.write(`<div>第${day}天</div>`);
for (let num = 1; num <=5 ;num++){
document.write(`<div>第${num}个单词</div>`);
}
}
数组
语法声明:
例如:
let name = ['小米','小红','小白','小芬','小刚','小明','小爽']
计算机中的编号从0开始,所以小米的编号为0,小红编号为1,小白编号为3,以此类推
数组是按顺序保存,每个数据都有自己的编号
在数组中,数据的编号也叫索引或下标
数组遍历
// 语法:
for(let i = 0; i < 数组名.length; i++){
数组名[i]
}
案例:
// 求数组最大值
let arr = [2, 6, 1, 77, 52, 25, 7];
let max;
debugger
for(let i = 0;i < arr.length; i++){
if(max === undefined) {
max = arr[i];
}else if (arr[i] > max) {
max = arr[i];
}
}
console.log(max);
操作数组
4个行为:增 删 改 查
数组修改
let boy = ['小米','小白','腰子','马面','牛头','疯子'];
boy[0] = '豆腐';
console.log(boy);
数组新增;push(新增在数组最后) 和 unshift(新增在数组最前)
// push:1.在数组最后一位新增;2.返回数组长度
let boy = ['小米','小白','腰子','马面','牛头','疯子'];
let len = boy.push('猛人');
console.log(boy);
console.log(len);
// unshift:1.在数组的开头新增; 2.返回数组长度
let boy = ['小米','小白','腰子','马面','牛头','疯子'];
len = boy.unshift('嘎子','刚子');
console.log(boy);
// console.log(len)
数组删除;
一、pop()1.删除数组最后一个元素;2.注意没有入参(); 3.返回值为被删除的元素
二、shift()1.删除数组第一个元素 2.注意不可以在()添加数据 3.返回值是被删除的元素
三、splice(操作的下标,删除的个数)1.删除任意位置的元素 2.可以用来删除多个元素 3.返回值为 被删除元素数组
splice清空数组:同理,清空数组使用splice从0开始到数组名.length
arr.splice(0,数组名.length)
splice在任意位置,添加一个元素:
splice:第三个参数,就是要新增元素
splice(起始位,要删除的数量,要新增的元素)