JavaScript 流程控制语句

2018-07-23  本文已影响10人  沧海一粟谦

一、if语句

if( condition ){
statement1;
}else if(condition){
statement2;
}…else{
statement3;
}

prompt()
语法:prompt()
功能:弹出输入框
返回值:
1、点击确定,返回输入内容
2、点击取消,返回null

alert()
语法:alert()
功能:弹出警告对话框

<script>
    var age=prompt("请输入您的年龄");
    if(age<18){
        alert("您还没有成年");
    }else if(age>=18 && age<=59){
        alert("您可以进入");
    }else{
        alert("您已超出年龄限制");
    }
</script>

length
语法:string.length
功能:获取string字符串的长度
返回值:number

if语句的嵌套:


<script>
    var password=prompt("请设置您的密码");
    if(password.length!=6){
        alert("请输入6位的数字密码");
    }else{
        if(isNaN(password){ //如果password是一个非数字
            alert("密码必须是数字");
        }else{
            alert("密码设置正确");
        }
    }
</script>

类型判断:

var str="abc123";
var num=parseInt(str);
alert(num); //NaN
if(num==NaN){ //NaN和任何内容都不相等,包括它本身
    alert(NaN);
}else if(num==123){
    alert(123);
}else if(typeof num="number"){ //NaN的类型为number 所以成立
    alert("num");
}else{
    alert("str");
}
//结果为:num

二、switch语句

获取星期
语法:new Date().getDay()
功能:获取星期
返回值:number (0-6) (0为星期日)

输出
语法:document.write(“内容”)
功能:向浏览器输出内容

switch语句

var week=new Date().getDay();
var weekstr="";
switch(week){
    case 0:
    //document.write("今天是星期日");
    weekstr="日";
    break;
    case 1:
    //document.write("今天是星期一");
    weekstr="一";
    break;
    case 2:
    //document.write("今天是星期二");
    weekstr="二";
    break;
    case 3:
    //document.write("今天是星期三");
    weekstr="三";
    break;
    case 4:
    //document.write("今天是星期四");
    weekstr="四";
    break;
    case 5:
    //document.write("今天是星期五");
    weekstr="五";
    break;
    default:
    //document.write("今天是星期六");
    weekstr="六";
}
document.write("今天是星期"+weekstr);

三、for语句

语法:
for(语句1;语句2;语句3){
被执行的代码块;
}
语句 1 :在循环(代码块)开始前执行
语句 2: 定义运行循环(代码块)的条件
语句 3 :在循环(代码块)已被执行之后执行

<script>
    //输出1~100
    for(var i=1;i<=100;i++){
        document.write(i+'<br />');
    }
    
    //输出99 97 95...3 2 1
    for(var m=99;m>=1;m-=2){
        console.log(m);
    }
    alert(m);//-1
</script>

循环的嵌套:
当循环与循环发生嵌套时遵循下列规则:
1、外层为假时内层不执行;
2、先执行外层再执行内层,直至内层的条件为假时再返回外层去执行。

<script>
    for(var i=1;i<=3;i++){
        document.write(i+'<br />');
        document.write('<hr />')
        for(var j=1;j<=5;j++){
            document.write(j+'<br />');
        }
    }
</script>

四、while语句

语法:
while(条件){
需要执行的代码;
}

例:

<script>
    var i=1;
    while(i<=100){
        document.write(i+'<br />');
        i++;
    }

    //1+2+3+4+...+100=?
    var sum=0;
    var n=1;
    while(n<=100){
        sum+=n;
        n++;
    }
    console.log(sum); //5050
</script>

五、do-while语句

语法:
do{
需要执行的代码;
}while(条件)

这种语法的循环至少要被执行一次。

例:

//1-10之间的所有偶数
do{
    if(j%2==0){
        console.log(j);
    }
    j++;
}while(j<=10);

for与while的区别:
for:适合已知循环次数的循环体
while:适合未知循环次数的循环体

break:立即退出循环

continue:结束本次循环,继续开始下一次。

var num=0;
for(var i=1;i<10;i++){
    //如果i是5的倍数,退出
    if(i%5==0){
        break;
    }
    console.log(i);//1 2 3 4
    num++;//4
}

var num=0;
for(var i=1;i<10;i++){
    //如果i是5的倍数,退出
    if(i%5==0){
        continue;
    }
    console.log(i);//1 2 3 4 6 7 8 9
    num++;//8
}

for(var s=0,j=1;j<=10;j++){
    if(j%5==0){
        break;
    }
    s+=j;
    
}
console.log(s);//10

for(var s=0,j=1;j<=10;j++){
    if(j%5==0){
        continue
    }
    s+=j;
    
}
console.log(s);//40

打印所有0-50之间除了20和30之间的5的倍数

for(var n=0;n<=50;n+=5){
    if(n==20 || n==30){
        continue;
    }
    console.log(n);
}
上一篇下一篇

猜你喜欢

热点阅读