美文网首页
JavaScript 流程控制语句

JavaScript 流程控制语句

作者: 沧海一粟谦 | 来源:发表于2018-07-23 10:10 被阅读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);
    }
    

    相关文章

      网友评论

          本文标题:JavaScript 流程控制语句

          本文链接:https://www.haomeiwen.com/subject/tdedmftx.html