hello,JS:02流程控制判断

一、if语句

if语句是编程语言最常用的语句,

1、语法:

1
2
3
4
5
if(condition){  
//true statement
}else {
//false statement
}

其中condition可以是任意表达式,结果不一定是布尔值,JavaScript解释器会自动调用Boolean()将表达式结果转为布尔值,如果表达式为真,执行第一个代码块内语句;如果为假,执行第二个代码块内语句

if语句可以单独使用,也可以和多个else连续使用

1
2
3
4
5
6
7
8
9
10
11
12
/* 满足这些条件做对应的事情*/
if(a > 2){
// statement
}
if( a == 1){
}else
if(a == 2){
}else
if(a == 3 ){
}else{

}

2、例子:

1
2
3
4
5
6
7
var a =  1
if(a === 1){
console.log('ok')
}else{
console.log('not ok')
}
--->"ok"

二、switch语句

注: JavaScript switch语句虽然参考的C语言的写法,但是有特殊性

  • switchcase可以使用任意表达式,不一定是常量
  • switch语句进行比较的时候是全等于(===)操作,不会发生类型转换

1、语法:

1
2
3
4
5
6
7
8
9
10
switch(expresstion){
case value1: //该条件:(满足)这个值
statement; //则执行该语句
break; //强制输出
case value2:
statement;
break;
default:
statement;
}

2、例子:

image

1
2
3
4
5
6
7
8
9
var score =prompt('请输入分数')  
switch (score){
case 100: console.log('100分')
break;
case 99: consolelog('99分')
break;
default:
console.log('其他分数') }
-->可弹出一个表单输入框输入分数

image
image

题外话:
break,如果表达式等于case的值,对应的语句就会执行,break关键字会使程序跳出switch语句,很多编程规范强调必须添加break,不添加不会有语法错误,程序会多次判断case,进入相应流程。

当没有一个值符合case或者没有break,流程则进入default子句,很多规范也强调必须添加default部分
image

break VS continue
break关键字在switch语句中已经见过,这两个关键字多用在循环语句中

  • break 用于强制退出循环体,执行循环后面的语句
  • continue 用于退出本次循环,执行下次循环

例子:

  • break

    1
    2
    3
    4
    5
    for(var i =  1; i<  10;    //第一步   i++   //第三步(2)(如果不符合函数:i % 4 === 0,继续循环)){ 
    if(i % 4 === 0){
    break; }//第二步
    console.log(i); //第三步(1)(如果符合函数:i % 4 === 0,输出相应值,;如果不符合, 输出当值,继续执行第三步(2))
    }
  • continue

    1
    2
    3
    4
    5
    for(var i =  1; i<  10; i++){
    if(i % 4 === 0){
    continue; //如果符合函数条件:i % 4 === 0,那么则直接退出本循环,不输出(跳过) 此次结果,继续执行i< 10这个条件的循环 }
    console.log(i);
    }

image

三、循环语句:whiledo-while

1、while循环

先条件判断,后执行

while 语句,属于前测试循环语句,也就是在循环体内的代码被执行之前,就会对条件求值,不符合的话就不会执行
(1)语法:

1
2
3
while(expression){ 
statement;
}

(2)例子:

1
2
3
4
var i =  10;  while(i >  0){
console.log(i);
i--;
}

image

2、do-while循环

先执行,后条件判断

do-while是后测试循环语句,在出口条件判断之前就会执行一次代码
语法:

1
2
3
  do{ 
statement;
}while(expression);

例子:

1
2
3
4
5
var i =  4; 
do{
console.log(i); i--;
}while(i > 5);
-->4

3、for循环

(1)for语句,前测试循环语句。具备在执行循环代码以前初始化变量和定义循环后要执行代码的能力,改造一下while语句
A、语法:

1
2
3
for(var i =  10; i >  0;//第一步 i-- //第三步){ 
console.log(i);//第二步
}

(2)for-in语句
for-in是一种迭代语句,用于枚举对象的属性
A、语法:

1
2
3
   for(property in object){ 
statement
}

B、例子:

1
2
3
for(var prop in window){ 
console.log(prop);
}

因为ECMAScript规定对象中的属性没有顺序,所以for-in遍历出来的属性的顺序也不是固定的(虽然大部分浏览器是按属性名称排序,我们不能依赖这个)

四、label语句

label语句是很多熟练的jser都会忽略的知识,我们可以为代码添加标签,方便后续使用。label语句单独使用的时候没有什么作用几乎,经常和其它语句结合使用。

1、语法:

1
labelname: statement;

2、例子:

1
2
3
4
5
6
7
var a =  1,
b = 2,
c = 3,
d = 4,
e = 5,
f = 6;
a:b:c:d:e:f:7;
-------------本文结束感谢您的阅读-------------