文章目录
JavaScript流程控制语句
1.流程控制语句的分类
1.条件语句(分支语句)
if单分支语句
if-else语句
if-else if双分支语句
switch开关语句
if语句即条件判断语句,一共三种格式:
1.单分支的条件语句
2.双分支语句
3.多分支语句
1.1单分支条件语句
if(){} 语句 - 只有当指定条件为 true 时,使用该语句来执行代码:
if(/* 条件表达式*/){
//执行语句
}
注意:
1.放在if后括号里的返回值为Boolean类型的表达式或Boolean值,这个表达式只能是true或false
2.表达式值为true执行语句;为false则不执行
1.2双分支的条件语句
if()…else 语句 - 当条件为 true 时执行语句1,当条件为 false 时执行语句2
if (/* 条件表达式 */){
// 成立执行语句
} else {
// 否则执行语句
}
if (条件表达式){
语句1;
}else {
语句2;
}
注意:
1.放在if之后的括号里的返回值为boolean类型的表达式或boolean值,即这个表达式的返回值只能是 true或false。
2.如果if表达式的值为true,则执行语句1;如果表达式的值为false,则执行语句2。
1.3多分支的if条件语句
if()…else if()…else 语句 - 使用该语句来选择多个代码块之一来执行.
if (/* 条件1 */){
// 成立执行语句
} else if (/* 条件2 */){
// 成立执行语句
} else if (/* 条件3 */){
// 成立执行语句
} else {
// 最后默认执行语句
}
语法:
if (条件表达式) {
语句1;
} else if (条件表达式) {
语句2;
} ...
else{
语句n;
}
注意:
1.if语句()中的表达式会自动转换成布尔值。
2.满足条件即执行对应语句,然后语句就结束;如果都不满足,则执行else语句块;当然else语句块可以不存在
1.4.switch多条件选择语句
switch语句又称开关语句,与多重if语句类似。前者用于等值判断,后者用于区间值和等值判断。
作用是根据表达式的值,跳转到不同的语句。用于基于不同的条件来执行不同的动作。
语法:
switch (expression) {
case 常量1:
语句;
break;
case 常量2:
语句;
break;
case 常量3:
语句;
break;
…
case 常量n:
语句;
break;
default:
语句;
break;
}
switch多条件选择语句:
switch 语句在比较值时使用的是全等操作符, 因此不会发生类型转换(例如,字符串’10’ 不等于数值 10) 工作原理: 首先设置表达式 n(通常是一个变量)。
1.5.条件语句练习
案例:求两个数的最大数
var num1 = 2;
var num2 = 5;
if (num1 > num2) {
console.log('最大值是:' + num1);
} else {
console.log('最大值是: ' + num2);
}
//判断一个数是偶数还是奇数
var num = 5;
if (num % 2 === 0) {
console.log('num是偶数');
} else {
console.log('num是奇数');
}
2.循环语句
for循环语句
while循环语句
do-while循环语句
for/in循环语句(增强for循环、foreach循环)
循环语句的结构有三要素:循环的初始值、循环条件(循环的结束值)和循环的迭代
2.1.while语句
while循环会在指定条件为真时循环执行代码块,它是一种先判断,后运行的循环语句。
语法:
// 当循环条件为true时,执行循环体,
// 当循环条件为false时,结束循环。
while (循环条件) {
//循环体
}
示例:
// 打印1-100之间所有的数字
var i = 1;
while (i <= 100) {
console.log(i);
// i = i + 1;
// i += 1;
i++;
}
//打印100以内7的倍数
var i = 1;
while (i <= 100) {
// 判断当前的i是否是7的倍数
if (i % 7 === 0) {
console.log(i);
}
// i自身+1
i++;
}
2.2.do…while循环
do…while循环时while循环的变体。
该循环会至少执行一次do下的代码块 (循环体),然后如果条件为真的话,就会重复这个循环,否则退出该循环体。
语法:
do {
// 循环体;
} while (循环条件);
示例:
// 初始化变量
var i = 1;
var sum = 0;
do {
sum += i;//循环体
i++;//自增
} while (i <= 100);//循环条件
2.3.for语句
for 循环可以代替 while 循环、do while 循环。
语法:
for(条件表达式1; 条件表达式2; 条件表达式3) {
语句块;
}
2.4.for …in语句
for…in 语句用于遍历数组或者对象的属性
for…in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。
遍历数组
//定义一个数组
var arr = [13,21,34,54]
//普通for循环遍历
for(var i=0;i < arr.length;i++){
console.log(arr[i]);
}
//使用for..in遍历数组
for(var i in arr){
console.log(arr[i]);
}
遍历对象
// 创建一个对象
var person = {
name : "jack",
age : 12,
height: 178
}
//列举对象属性名及其值
for(var pro in person){
console.log(pro+" "+person[pro])
}
2.4.循环语句练习
案例:
//打印正方形
// 使用拼字符串的方法的原因
// console.log 输出重复内容的问题
// console.log 默认输出内容介绍后有换行
var start = '';
for (var i = 0; i < 10; i++) {
for (var j = 0; j < 10; j++) {
start += '* ';
}
start += '\n';
}
console.log(start);
//打印9*9乘法表
var str = '';
for (var i = 1; i <= 9; i++) {
for (var j = i; j <=9; j++) {
str += i + ' * ' + j + ' = ' + i * j + '\t';
}
str += '\n';
}
console.log(str);
3.跳转语句
break:立即跳出整个循环,即循环结束,开始执行循环后面的内容(直接跳到大括号)
continue:立即跳出当前循环,继续下一次循环(跳到i++的地方)
continue 语句只能用在循环中;break能用在循环或 switch 中。
案例:
求整数1~100的累加值,但要求碰到个位为3的数则停止累加
求整数1~100的累加值,但要求跳过所有个位为3的数
var sum = 0;
for (var i = 1; i <= 100; i++) {
if (i % 10 === 3) {
// 如果找到个位为3的数字 ,继续执行下一次循环
continue;
}
sum += i;
}
console.log(sum);