目录
目标
1.掌握循环语句,让程序具备重复执行能力
2.掌握数组声明及访问的语法
一、for循环
1.for循环的基本使用
目标:掌握for循环重复执行某些代码
1. for循环语法
作用:
重复执行代码
好处:
把声明起始值、循环条件、变化值写到一起,让人一目了然
,
它是最常使用的循环形式
for (变量起始值; 终止条件; 变量更新) {
//循环体
}
for (let i = 1; i <= 5; i++) {
alert('你好~')
}
循环体就是重复执行的代码块
第一步:先声明变量并赋值 只会执行一次
第二步:判断循环的条件是否成立,如果成立则执行循环体,如果不成立 for循环就会结束
第三步:执行循环体
第四步:将变量的值进行更新,重复第三步
1→2→3→4→2→3→4
2. 退出循环
continue 退出本次循环,
一般用于排除或者跳过某一个选项的时候, 可以使用continue
for (let i = 1;i <= 6; i++) {
if(i === 3) {
continue
}
document.write(`要洗${i}个碗<br>`)
}
//洗了第三个碗摔碎了割伤了手,丢掉第三个碗,接着让你洗后面的碗(后妈)
break 退出整个for循环,
一般用于结果已经得到, 后续的循环不需要的时候可以使用
for (let i = 1;i <= 6; i++) {
if(i === 3) {
break
}
document.write(`要洗${i}个碗<br>`)
}
//洗了第三个碗摔碎了割伤了手,后面不洗了(亲妈)
for循环和while循环有什么区别呢:
当如果明确了循环的次数的时候推荐使用for循环
当不明确循环的次数的时候推荐使用while循环
3. for 循环嵌套
for (内部声明记录循环次数的变量; 循环条件; 变化值) {
//外部循环体
for (内部声明记录循环次数的变量; 循环条件; 变化值) {
//内部循环体
}
//外部循环体
}
//例
for (let i = 1; i <= 5; i++) {
//外部循环控制打印的爱心行数
for (let x = 1; x <= 5; x++) {
//内部循环控制打印每行爱心的个数
document.write('💗')
}
document.write('<br>')
}
二、数组
数组:(Array)是一种可以按顺序保存数据的
数据类型
为什么要数组?
思考:如果我想保存一个班里所有同学的姓名怎么办?
场景:如果有多个数据可以用数组保存起来,然后放到一个变量中,管理非常方便
1. 声明语法
let arr = ['数据1','数据2','数据3','数据4','数据5','数据6']
let arr = new Array(数据1,数据2,数据3,数据4,数据5)
两种声明数组的语法,但我们一般使用第一种.
计算机中的编号是从零开始,在数组中数据对应的编号也叫索引或者下标.
列如我们要提取数据1的时候对应索引是0,提取数据2的时候索引值是1,以此类推.
2. 数组长度
数组中数据的个数,通过数组的length属性获得
列如let arr = [1,2,3,4,5,6]
console.log(arr.length) //6 数组长度为6
3.遍历数组(重点)
用循环把数组中每个元素都访问到,一般会用for循环遍历
语法:
for (let i = 0; i < 数组名.length;i++) {
数组名[i]
}
//例
let nums = [10,20,30,40,50]
for (let i = 0; i < nums.length; i++) {
document.write(nums[i])
}
注意: i < nums.length,尽量使用<, 如果使用的是<=需要在nums.length后面减1
因为数组的长度是从1开始计算的,数组下标是从0开始计算的
求数组最大值最小值
// 最大值
// let max = arr[0]
// for (let i = 1; i < arr.length; i++) {
// if(max < arr[i]) {
// max = arr[i]
// }
// }
// 最小值
let min = arr[0]
for (let i = 1; i < arr.length; i++) {
if(min > arr[i]) {
min = arr[i]
}
}
document.write(min)
4.操作数组
数组本质是数据集合, 操作数据无非就是 增 删 改 查 语法:
1.重新赋值
const arr = [1,2,3,4]
const arr[0] = 6
2.新增数组
数组.push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度 (重点)
语法:
arr.push(元素1,元素2,......,元素n)
例如:
arr.unshift(新增的内容) 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度
arr.unshift(元素1,元素2,......,元素n)
例如:
- 1.想要数组末尾增加数据元素利用那个方法?
arr.push()
可以添加一个或者多个数组元素
返回的是数组长度
- 2. 想要数组开头增加数据元素利用那个方法?
arr.unshift()
可以添加一个或者多个数组元素
返回的是数组长度
- 3. 重点记住那个?
arr.push()
3.操作数组-删除
目标:能够删除数组元素(数据
- 数组. pop() 方法从数组中删除最后一个元素,并返回该元素的值
- 语法
arr.pop()
- 例如:
let arr = ['red','green']
arr.pop()
console.log(arr) //['red']
- 数组. shift() 方法从数组中删除第一个元素,并返回该元素的值
- 语法
arr.shift()
- 例如
let arr = ['red','green']
arr.shift()
console.log(arr) //['green']
数组. splice() 方法 删除指定元素 [重点]
语法:
arr.splice(star,deleteCount)
arr.splice(起始位置,删除几个元素)
start 起始位置:
指定修改的开始位置(从0计数)
deleteCount:
表示要移除的数组元素的个数
可选的。 如果省略则默认从指定的起始位置删除
到最后
const arr =['黄忠','张飞','诸葛亮','刘备','马超']
arr.splice(1,2)
//arr = ['黄忠','刘备','马超']
1. 想要数组末尾删除1个数据元素利用那个方法?带参数吗?
arr.pop()
不带参数
返回值是删除的元素
2. 想要数组开头删除1个数据元素利用那个方法?带参数吗?
arr.shift()
不带参数
返回值是删除的元素
3. 想要指定删除数组元素用那个?开发常用吗?有那些使用场景?
arr.splice(起始位置, 删除的个数)
开发很常用,比如随机抽奖,比如删除指定商品等等