1、循环结构
1、问题
1、控制台上打印一遍Hello World
console.log("Hello World");
2、控制台上打印十遍Hello World
console.log("Hello World");
console.log("Hello World");
.......
3、控制台上打印1000遍 Hello World
4、将1000遍的Hello World变成 你好,世界
5、在1000遍 你好世界 基础上增加 第N遍:你好世界
第 1 遍 :你好,世界
第 2 遍 :你好,世界
2、什么是循环
循环:重复的执行相同或相似的代码
生活中的循环场景:
1、上学
2、跑圈
3、活着
循环的两个基本要素:
1、循环条件
整个循环的次数,可以由循环的开始和结束来决定
2、循环操作(循环体)
在每一次循环过程中,所做的相同或相似的操作是什么
3、while 循环结构
3.1、语法结构
while(条件){
//循环体
}
如果条件为真的,则执行一遍循环体中的语句,然后再一次
去判断条件,如果条件为真,则再执行一遍循环体中的语句.
......直到条件为假时,则结束循环
3.2、break
作用:终止循环操作,
问题:从网页上一直输入字符并打印,
直到输入"exit"为止(不确定循环次数)
while(true){
//输入 字符
//判断输入的字符 是否为 exit,如果是 则break
//打印 字符
}
4、:do{}while();
4.1 循环变量=初始值
do{
循环体;
自增 自减....
}while(循环条件);
----->顺序不同:
var i = 0; //i[0]
do{
console.log(i);//0 1 2 3 4
i++; //i[4]
}while(i<5);
笔试题:
总结:while vs do while
1:如果第一次条件都满足,两者完全一致.
2:如果第一次条件不满足,while 是一次都不执行
退出循环:
1:循环条件控制退出..优雅
2:break;随时退出循环..野蛮
3:return;返回值 少用...
continue; 退出本次循环除下语句
var i = 1;
while(i<10){
if(i==3){
break;
}
console.log(i);
i++;
}
练习
1、电话银行
1、循环操作
1、弹出提示信息并接收用户输入的数据(prompt)
2、开始匹配 用户输入的数据
1、输入1
余额查询中,请稍后....
2、输入2
取款中,请稍后
3、输入3
转账中,请稍后
4、0
弹出 退出 提示
退出循环(break)
5、非0-3之间
给出错误提示
2、循环条件
无限次(while(true))
2、猜数字游戏
1、循环外 生成一个随机数
//生成0-1之间的随机数
var num=Math.random();
//将0-1的随机数变成0-99
num= num*100;
//只获取随机数的整数部分
num=parseInt(num);
2、循环
1、条件
无限制(while(true){})
2、操作
1、要求用户输入一个数字并保存(input)
2、判断用户输入的内容
0、input是否为exit退出(break)
1、input>num:提示大了
2、input<num:提示小了
3、提示正确,结束(break)
5、for 循环结构
var i=1;//1、循环条件 变量声明
while(i<=10){//2、循环条件
//3、循环操作
console.log("Hello World");
i=i+1;//4、确定循环次数时,不能省略
}
1、for循环结构语法
for(表达式1;表达式2;表达式3){
循环操作
}
表达式1:循环条件 变量声明
表达式2:循环条件的判断
表达式3:更新循环变量(确定循环次数时使用)
执行过程:
1、计算表达式1的值
2、计算表达式2的值,如果结果为true,则执行循环体,
结果为false,则退出循环
3、执行循环体
4、计算表达式3的值
5、计算表达式2
......
6、反复执行循环体
使用场合:
1、确定循环次数的时候,优先使用for循环
2、不确定循环次数时,可以优先使用 while
2、for表达式的特殊用法
1、表达式1可以省略,;不能省
尽量将 表达式1的内容在for之外补齐
3、表达式2也可以省略,;不能省
省略之后,会出现死循环
尽量在循环体内将条件补足
4、表达式3可以省略
死循环
5、三个表达式全为空
死循环,一定要在循环体内或外 补充所有的表达式
2、数组
1、问题
将 现场班 所有同学的名称保存起来
var name1="";
var name2="";
....
var name80="";
console.log(name1);
....
console.log(name80);
2、一组数据--数组(Array)
1、什么是数组
多个元素所组成的集合--在一个变量中保存多个数值 一组变量的集合,再起一个统一名字..
数值数据 是按照 “线性” 顺序排列的
线性:
有序排列
除第一个数据以外元素都有一个直接的“前驱”元素
除最后一个数据外,其他的每个元素都有一个“后继”元素
数值的元素是一个挨一个 按顺序存储
在数组中,通过下标(索引)来表示数组中元素的位置
(从0开始,到数组元素个数-1结束)
2、如何创建数组
1:创建数组 5种
var arr1 = [];//创建一个空数组
var arr2 = [值1,值2.....]//创建有值数组
var arr3 = new Array();//创建一个空数组
var arr4 = new Array(n);//创建一个长度为n个元素数组
var arr5 = new Array(值1,值2....);
3、获取数组中值
数组名[0]
获取某个值对操作与普通变量一样
4、修改数组中值
数组名[下标] = 值;
5、固定套路常见属性
每一个数组对象属性.length
arr2.length {数组中元素个数}
var arr2 = [1,3,4,5] 4
// 0 1 2 3
arr2.length;==7
6、遍历数组
获取数组中每一个元素
练习1
a:创建数组[1,2,3,4,5,6,7,8,9]
b:计算累加和,将数组每一个元素相加
c:输出累加和
练习2
a:创建数组[1,2,30,4,50]
b:计算数组中每一个元素平均值
c:输出平均值
练习3
a:创建数组[1,2,-30,4,50]
b:获取数组中最大值
c:输出最大值