1 do-while循环
语法:
do {
// 循环体代码 - 条件表达式为 true 时重复执行循环体代码
} while(条件表达式);
先执行一次循环体代码,再执行条件表达式,如果为true,则继续执行,如果为false,则退出循环执行后面代码。
do…while使用场景:有用户界面
(猜数字小游戏)
let n = 7 , guessNumber
do{
guessNumber = prompt('请输入数字:')
}while(number != guessNumber)
alert('猜对了!')
2 continue、break
continue用于立即跳出本次循环,继续下一次循环
//求0-20的奇数的和
let sum = 0
for (let i = 0;i<=20;i++){
if(i % 2 == 0){
continue
}
sum += i
}
console.log(sum)
break用于立即跳出循环,即循环结束
3 数组
数组可以使数据一起存放,是一组数据的集合,里面的每一个数据被称为元素,里面可以存放任意类型的元素。
3.1数组创建
var arr= [‘小明’,18,true,null];
3.2获取数组中的元素
可使用:数组名[索引]来获取元素(下标从0开始)
索引可以是常量,也可以是变量
数组名.length可以获取长度
3.3遍历数组
//数组的遍历,通过for循环
求平均数
let sum = 0
for(let i = 0; i<scoreList.length;i++){
sum += scoreList[i]
}
console.log(sum / scoreList.length)
求成绩最高的同学的下标
let index = 0
let c = scoreList[0]
for (let i = 0;i<scoreList.length;i++){
if(c < scoreList[i]){
index = i
c = scoreList[i]
}
}
console.log(index)
console.log(c)
冒泡排序
从小到大,升序
let list = [78,89,99,60,100,95]
for (let i = 0;i<list.length;i++){
//把最大值移动到最右边
for (let j = 0;j<list.length-i;j++){
//比较两个值的大小
if(list[j]>list[j+1]){
//交换位置
let temp = list[j+1]
list[j+1] = list[j]
list[j] = temp
}
}
}
console.log(list)
//查询
//在数组中找出对应的数的下标
let num = 60
let list = [78, 89, 99, 60, 100, 95]
let flag = false
let index = 0
for (let i = 0; i < list.length; i++) {
if (num == list[i]) {
flag = true
index = i
}
}
if (flag) {
console.log(index)
} else {
console.log('没有找到!')
}
4.函数
函数:就是封装了一段可被重复调用执行的代码块。通过代码块可以实现大量代码的重复使用。
4.1函数的使用
声明函数:
function 函数名() {
//函数体代码
}
function是声明函数的关键字,需要小写
调用函数:
// 调用函数
函数名(); // 通过调用函数名来执行函数体代码
函数封装:
就是把一个或者多个功能通过函数封装起来,对外只提供一个接口
求几个数的和
(当实参个数不确定的时候,我们可以使用arguments)
function add(){
// arguments可以将所有的实参封装成一个数组
// let arguments = [1,2,3,6,7,8]?
// console.log(arguments)
let sum = 0
for (let i = 0;i <arguments.length;i++){
sum += arguments[i]
}
return sum
}
console.log(add(1,2,3))
练习
设计一个函数,找出数组中的最大值,并返回
function findBigNum(array) {
let bigNum = array
for (let i = 0; i < array.length; i++) {
if (bigNum < array[i]) {
bigNum = array[i]
}
}
return bigNum
}
let array = [45, 15, 42, 96, 35, 78]
console.log(findBigNum(array))
4.2实参和形参
// 带参数的函数声明
function 函数名(形参1, 形参2 , 形参3...) { // 可以定义任意多的参数,用逗号分隔
// 函数体
}
// 带参数的函数调用
函数名(实参1, 实参2, 实参3...);
多个参数之间用逗号分隔
4.3return语句
// 声明函数
function 函数名(){
...
return 需要返回的值;
}
// 调用函数
函数名(); // 此时调用函数就可以得到函数体内return 后面的值
在数组中查找特定的值,找到后返回该值的下标,如果没有就返回-1
function fun(arr,find){
for(let i = 0; i <arr.length;i++){
if(find == arr[i]){
return i
}
}
return -1
}
arr = [15,26,38,56,78]
find = 26
console.log(fun(arr,find))
在使用 return 语句时,函数会停止执行,并返回指定的值
4.4函数的两种声明方式
(1)命名函数
// 声明定义方式
function fn() {…}
// 调用
fn();
(2)匿名函数
// 这是函数表达式写法,匿名函数后面跟分号结束
var fn = function(){…};
// 调用的方式,函数调用必须写到函数体下面
fn();