一、循环结构
1、什么是循环?
循环:反复执行【相同 或 相似】的操作
循环三要素:
1、循环条件:开始、结束,重复执行的次数
2、循环操作:循环体,要执行的操作是什么
3、循环变量、变量要改变(自增/自减)
2、while循环
语法:
var 循环变量=几;
while(循环条件){
循环体;
循环变量改变;
}
例:
var i=1;
while(i<=10){
console.log("hello world");
i++;//i+=1 i=i+1
}
死循环:while(true){
循环体;
}
原理:
先判断循环条件,如果条件为真,则执行一次循环体中的语句,然后再一次判断条件,如果为真,则再一次执行一次循环体中语句...
直到循环条件为假,才会退出循环
强调:循环是一次一次执行的,只不过速度很快,而且循环没结束之前,会卡住后续代码
循环中的流程控制语句:允许条件结束之前提前退出循环
语法:break
位置:任何一个循环中都可以使用,只能放在循环中
场合:
1、某种条件达成时,提前退出循环
2、搭配死循环使用:在 不确定循环次数的时候,只能使用break来退出循环
3、for循环
语法:for(循环变量(表达式1);循环条件(表达式2);变量的改变(表达式3)){
循环体;
}
执行流程:先计算表达式1的值,计算表达式2的值,如果为true,执行一次循环体,再计算表达式3的值...直到表达式2的值,结果为false,循环才会退出
特殊:1、死循环:for(;;){循环体}
2、表达式1和表达式3可以同时写多个,用逗号隔开
for vs while
1、while循环 一般比较适用于 不太确定循环次的时候使用 - 死循环
2、for循环 一般适合用于 已经确定了循环次数
总结一句话:何时使用循环?
只要反复执行 【相同 或 相似】 的操作
函数可以反复执行(多半都是用户可以反复触发的),循环也可以反复执行(一瞬间几乎就执 行完毕了)
二、数组
1、数组: 多个元素/数据组成的一个集合 - 在一个变量名中保存着多个数据
1、数组中的元素,都是按照线性顺序排列的:
2、 特点:除了第一个元素外,每个元素都有一个唯一的前驱元素
除了最后一个元素外,每个元素都有一个唯一的后继元素
3、 数组中每个元素都有一个唯一的位置序号,称之为【下标】,用来表示数组中的每一个 元 素
注意:下标从0 开始到 元素的最大个数-1
2、创建数组:2种方式
1、直接量方式:var arr=[];//空数组
var arr=[元素,元素,...]
2、构造函数方式:var arr=new Array();//空数组
var arr=new Array(元素,元素,...);
3、访问数组中的元素:通过 下标
语法:数组名[i]
注意:1、获取数组下标越界,得到的是undefined!
2、数组是无限长度的,但是如果没有数据的地方,默认值为undefined
4、追加元素:
语法:数组名[i]=新内容;
注意:1、如果当前下标没有内容,则为追加
2、如果当前下标已经有内容了,则为替换
3、如果你的下标越界了/下标不连续,会导致数组变成一个稀疏数组
5、数组中的三大不限制:
1、不限制元素的类型
2、不限制元素的个数
3、不限制元素的下标越界 - 并不是好事情
6、数组中有一个唯一的属性
属性语法:数组名.length:获取当前数组的长度(长度等于最大下标+1)
三个固定套路:
1、始终向末尾追加元素:arr[arr.length]=元素;
2、获取倒数第n个元素:arr[arr.length-n];
3、缩容:删除末尾的n个元素:arr.length-=n;
7、循环遍历数组:把数组中的每个元素取出来执行 【相同或相似】 的操作
公式:
for(var i=0;i<数组名.length;i++){
数组名[i];//当前次元素
}