流程控制的三种结构:顺序结构、分支结构、循环结构
分支流程控制
if语句
if 单分支语句:
if (条件表达式) {
执行语句;
}
if else 语句(双分支语句):
if (条件表达式) {
执行语句;
} else {
执行语句;
}
if else if 语句(多分支语句):
if (条件表达式1) {
执行语句1;
} else if (条件表达式2) {
执行语句2;
}
......
else {
执行语句n;
}
三元表达式
三元运算符组成的式子称为三元表达式
条件表达式 ? 表达式1 : 表达式2
:如果条件表达式为真,则返回表达式1,否则返回表达式2
switch语句
switch (表达式) {
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
......
default:
执行语句n;
}
- 表达式常为变量
- 表达式或变量必须和case后面的值全等(值和数据类型均一致)
- 若未加break,则会继续执行下去
循环流程控制
for循环
for (初始化变量; 条件表达式; 操作表达式) {
循环体;
}
- for循环中可以嵌套选择或循环结构
- 双重for循环
while循环
while (条件表达式) {
循环体;
}
- 循环体里面应有操作表达式,完成计数器的更新,防止死循环
do while 循环
do {
循环体;
} while (条件表达式)
- 至少会执行一次
continue break语句
continue
关键字用于立即跳出本次循环,不再执行本次循环后面的代码,转而继续下一次循环break
关键字用于立即跳出整个循环,循环结束
规范
标识符命名规范
- 变量、函数名都必须有意义
- 变量名一般用名词
- 函数名一般用动词
操作符规范
- 操作符的两侧各保留一个空格
数组
- 在数组中可以存放任意类型的变量
数组的创建
-
利用 new 创建数组
var 数组名 = new Array();
-
利用数组字面量创建数组
var 数组名 = [];
-
声明数组并赋值称为数组的初始化
-
数组里面的数据之间用逗号隔开
获取数组元素
- 数组的索引(下标)从0开始
- 获取(访问)数组元素:
数组名[索引号]
遍历数组
- 利用循环遍历数组,但应注意数组的下标从0开始
- 访问数组的长度(元素的数量):
数组名.length
- 数组的长度总是比数组的最大索引号大1
数组中新增元素
- 给不存在的数字索引号赋值,即新增数组元素
- 给已存在的数组索引号赋值,即修改该数组元素
- 直接给数组名赋值,会使得整个数组丢失
冒泡排序
- 冒泡排序也叫数组排序
var arr = [5, 4, 3, 2, 1];
for (var i = 0; i < arr.length - 1; i++) {
for (j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);