1、循环结构
问题:
1、在控制台上打印输出1句Hello World
console.log("Hello World");
2、在控制台上打印输出10句Hello World
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
3、在控制台上打印输出1000句Hello World
4、将 1000 句 Hello World 更改为 "世界 你好!"
5、输出格式 "第n遍 世界 你好" n (1~1000)
以上部分内容 在Javascript 中,完全可以通过 "循环结构" 来搞定
生活中的循环:
1、活着
2、上学、上班
3、地球 自转、公转
特点:
1、做重复性 或 相似性的操作
2、都会有显示的结束
什么是循环:循环,重复的执行相同 或 相似的操作
循环的基本要素:
1、循环体 : 相同 或 相似的操作
2、循环条件:循环的次数,可以表示循环的开始或结束
没有结束的循环:称之为 死循环
1、while循环
1、语法结构
while(条件判断){
//循环体
}
条件为 true 时,则执行一遍循环体中的所有语句;再回来判断条件,若条件为true,则再执行循环体 ... 直到 条件为 false时,则结束循环
2、循环实现
1、在控制台上打印输出10句Hello World
循环条件:从第1遍开始打印 , 到第10遍结束
循环体:console.log("Hello world");
注意:一定要去更新循环条件,否则容易引发死循环
2、将 1 - 100之间所有的数字 进行累加求和
循环条件:从 1 开始 到 100 结束
循环体:
循环条件的 变量要参与到循环操作中来
循环变量 就可以表示 1-100之间的每一个数字
最终:将 循环变量 累加即可
更新循环条件
3、将 1-100之间 所有的 奇数 进行累加求和
循环条件:从 1 开始 到 100 结束
循环体:
1、判断 i 的奇偶性,如果为 奇数, 则累加到sum之后
2、循环条件(循环变量)以2递增
3、循环 流程控制
4 提前终止循环结构
4.1、break语句
作用:break 用在循环体中,用于退出循环
程序碰到 break 语句后,break后面的循环体操作都不会被执行,并且程序的流程会跳到循环结构以外的下一条语句去执行
2、使用场合:
在不确定循环次数的条件下,可以随时终止循环
while(true){
if(输入内容 == "exit"){
break;
}
}
随机数: Math.random() 表示一个随机数(0-1)
总结:
在确定循环次数的条件下 , while流程
1、声明循环条件 var i=1;
2、编写循环体while(i<=10){}
3、在循环体 更新循环条件(循环变量) i++
5、for循环
解决问题:与 while 循环基本一致,确定了循环次数的条件下使用
语法:for(表达式1;表达式2;表达式3){//循环体} 死循环 for(;;){}
表达式1 :声明循环条件
表达式2 :满足循环的条件 ==> while(条件)
表达式3 :更新循环变量
通过 while 循环 打印 10遍 Hello World
var i=1;//表达式1
while(i<=10 //表达式2 ){
console.log("Hello World");
i++; //表达式3
}
==> for循环结构
for(var i=1;i<=10;i++){
console.log("Hello World");
}
for循环的流程:
1、计算 表达式1 的值
2、计算 表达式2 的值,如果为true则执行循环体,否则退出。
3、执行循环体
4、计算 表达式3 的值
5、计算表达式2 , 如果为true,继续执行循环体,否则退出
请输入一个数字:5
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
console.log("");
for循环的特殊用法:
1、表达式1位置 可以为空
for(;表达式2;表达式3)
如果省略表达式1的话,那么需要在循环外面,对表达式1进行声明
for(var i=1;i<10;i++){
//
}
var i =1;
for(;i<10;i++){
//
}
2、省略表达式2
for(var i=1;;i++){
//死循环
}
注意:如果省略了表达式2的话,需要在循环体内,将其内容补充完整
for(var i=1;;i++){
if(i > 10){
break;
}
}
3、省略表达式3
for(var i=1;i<10;){
//死循环
}
注意:如果省略表达式3,要么在循环体重补充表达式3,要么 增加条件允许循环退出
for(var i=1;i<10;){
...
i++;
}
4、for(;;){ //死循环
}
==============================================================================================================
2、数组(创建、访问)
问题:保存学员的姓名 ?
var name1 = "";
var name2 = "";
..
var name589 = "";
多数据的保存 和 管理的问题 ?
1、数组
多个元素组成的集合,可以在一个变量中存储多个数据值
数组中元素的数据类型可以相同,也可以不同
所有元素都按照【线性顺序】排列
线性顺序:
除第一个元素外,每个元素都有唯一的一个前驱元素
除最后一个元素外,每个元素都有唯一的一个后继元素。
数组是通过下标(索引)来标识每个元素的位置,下标时从 0 开始 , 最大值 数组元素个数 - 1
2、数组的初始化
1、一维数组的使用
1、声明数组
1、var 数组名 = [];//声明一个不包含任何元素的空数组
2、var 数组名 =[元素1,元素2,元素3];//声明一个包含3个元素的数组
eg : var names = ["张三丰","张翠山","张无忌"];
3、var 数组名 = new Array();
4、var 数组名 = new Array(元素1,元素2,元素3);
eg : var girls = new Array("赵敏","周芷若","小昭");
2、访问数组元素
无论设置还是获取,都与数组元素的 索引 相关
1、设置数组元素的值
var names = ["张三丰","张翠山","张无忌"];
语法: 数组名[索引值]=值;
names[0] = "ZSF"; //修改数组中,第一个元素的值为 ZSF
names[3] = "谢逊"; //追加新元素(指定索引的元素不存在时,则追加)
2、获取数组元素的值
语法:数组名[索引值];
var name = names[0];
3、获取数组长度
获取数组中元素的个数,即数组长度
属性:length
使用方式:数组名.length
3、循环遍历数组元素
遍历数组:通过循环的方式,获取数组中的每一个元素
实现方式:使用 for 循环、数组的length属性、元素的索引
var names = ["张三丰","张翠山","张无忌"];
for(var i=0;i<names.length;i++){
console.log(names[i]);
}
//倒序
for(var i=names.length-1;i>=0;i--){
console.log(names[i]);
}