流程控制语句

2017-08-27  本文已影响0人  流着万条永远的河
var a = 1
if (a === 1) {
  console.log ('ok')
}else {
 console.log ('are u ok?')
}
输出'ok'

var  score = 100
switch (score) {
case 100:
     console.log('100分')
     break;
case 99:
    console.log('99分')
    break;
case 98:
case 97:
case 96:
console.log('90多分')
break;
default:
    console.log('其他分数 ')
}
输出100分,同理赋予99或者其他的,输出结果一一对应。case是后面冒号的,是条件语句,给score赋值的。
而break 就是满足了它前面的条件并执行了,然后终止对后续的运行。如果忘了写后面的break,赋值97,会有两个结果——97分和其他分数。

var score = 97
switch (true) {
case score >90:
     console.log('大于90分')
     break;
case score > 80:
    console.log('大于80分')
    break;
case score >60:
console.log('大于60分')
break;
default:
    console.log('其他分数 ')
}
输出大于90分。

switch做的判断是全等的,不会做类型的转换 ——===。
循环:
var i = 10
while (i > 0) {
console.log( i );
i--;
}
10>0,输出10,i自减,变成9
9>0,输出9,i自减,变成8
8>0,输出8,i自减,变成7
6,5,4,3,2,
1>0,输出1,i自减,得0
0=0,不能执行。

var i = 4
do {
console.log ( i );
i--;
} while( i > 5);
先运行再判断。
输出4,4自减得3,3>5 false,over掉了。

for (var i =10; i > 0; i--) {
console.log ( i );
}
10>0,输出为10,10自减,i值为9
9>0,输出为9,9自减,i值为8,
8,7,6,5,4,3,2,
1>0,,输出1,1自减,i值为0
0=0,终结。
这里的注意点是变量的改变式运行是在输出结果之后才发生的。

for (var i = 1; i<10; i++) {
if ( i % 4 === 0) {
break;
}
console.log( i );
}
1<10,1%4不是0,输出1,继续,1自增得2
2<10,2%4不是0,输出2,继续,2自增得3
3<10,3%4不是0,输出3,继续,3自增得4
4<10,4%4 === 0,break!

for (var i =1; i<10; i++) {
if (i % 4 === 0) {
continue;
}
console.log (i);
}
continue是遇到了,就会跳过本次循环,继续下次循环也就是不输出后面的i了。
1<10,1%4不是0,不能继续,输出1,1自增得2
2<10,1%4不是0,不能继续,输出2,2自增得3
3<10,1%4不是0,不能继续,输出3,3自增得4
4<10,4%4是0,继续,不能输出4,4自增得5
5的话,输出,6也是,7也是,8不行,9输出,10不行了。
上一篇下一篇

猜你喜欢

热点阅读