JS——流程控制

《一》代码块:

我们的程序是由一条一条的语句构成;语句是按照自上向下的顺序一条一条执行的;

 {
        var str = '撩课学院';
        console.log("itlike.com");
        document.write("喜欢IT,就上撩课");
    }

    console.log("str=" + str);

在JS中可以使用 {} 来为语句进行分组;同一个 {} 中的语句我们称是一组语句;它们要么都执行,要么都不执行;一个 {} 中的语句我们也称为叫一个代码块;在代码块的后边就不用再编写;了。

JS中的代码块,只具有分组的作用,没有其他用途。

《二》流程控制语句:

1  三种流程结构:1顺序结构、2选择结构、3循环结构

2  if:

<1>if的基本格式:if(条件表达式){

    语句1

} 后续语句

<2>如果条件表达式为真,执行语句块1,否则不执行

var age=20;


if(age> 18){
        console.log("可以上网")
    }
    console.log("哈哈哈");

<2>如果条件表达式为真,则执行语句块1,否则执行语句块2

var age=2;

if(age > 18) {
        console.log('可以上网哈');
    } else {
        console.log('不可以上网');
    }

<3>如果条件表达式为真,则执行语句块1,否则执行语句块2;如果条件表达式为真,则执行语句块2,否则再判断条件表达式3;如果条件表达式为真, 则执行语句块3,当表达式1、2、3都不满足,会执行最后一个else语句。

var age=20;
    if(age > 40){
        console.log('老年人');

    }else if(age >20 ){
        console.log('中年人');

    } else if (age > 12){
        console.log('成年人');
    }else {
        console.log('未成年');
    }

 

<4>注意点:

1 如果只有一条语句时if后面的大括号可以省略 (建议不要省略大括号)

var age=10;
    if (age>18)
        console.log("成年人");
    console.log("你控制不了我!")

2 分号”;“也是一条语句,空语句

 if(4>6);
    {
        console.log('4>6');
    }

3  if else是一个整体,else匹配的时候匹配离它最近的一个if

    if (0)
        if (1)
            console.log("A");
        else
            console.log("B");
    else
       if (1)
            console.log("c");//    c
       else
            console.log("D");

所以这个匹配输出的就是 C。

4  对非Boolean类型的值,会先转换为Boolean类型后再判断

if (1){
        console.log("itlike")
    }

5 判断变量与字面量的问题

if (0==a){
        console.log("a的值是0\n");
    }else {
        console.log("a的值不是0\n");
    }

6  if语句可以嵌套使用

var num=20;
    if (num>=10){
        if (num<=30){
            console.log("满足条件!");
        }
    }

    var num=20;
    if (num>=10 && num<=30){
        console.log("满足条件!");
    }

5 课堂练习:石头剪刀布的实现

       0——剪刀,1——石头,2——布 

 //1 定义变量
    var player,computer;
    //2 电脑出拳
    computer=parseInt(Math.random()*3)
    console.log( parseInt(computer));
    //3 玩家出拳
    player=parseInt(+(window.prompt('请出拳:0—>剪刀,1->石头,2->布')));
    // console.log(player);
    //4判断用户输入内容
    if (player<0||player>2){//    不满足条
        player=parseInt(+(window.prompt('请出拳:0—>剪刀,1->石头,2->布')));
        console.log(player);

    }else {//    满足条件
        if (
            (player===0 && computer===2) ||
            (player===0 && computer===2) ||
            (player===0 && computer===2)

        ){
            alert('恭喜你,赢了');
        }else if (
            (player===0 && computer===1) ||
            (player===1 && computer===2) ||
            (player===2 && computer===0)
        ){
            alert('很遗憾,输了');
        }else {
            alert('平局');
        }
    }

 

3 Switch:

<1>switch示例:

var num=3;
    switch (num) {
        case 1:
            console.log('壹');
            break;
        case 2:
            console.log('贰');
            break;
        case 3:
            console.log('叁');
            break;
            default:
                console.log('其他数字');

    }

<2>注意事项:

1 case全等问题

var str="123";
    switch (str) {
        case 123:
            console.log("123数字");
            break;
        case "123":
            console.log("123");
                break;
        default:
            console.log("default");

    }
var num=120;
    switch (120) {
        case num:
            console.log("120");
            break;
        case 110:
            console.log("110");
            break;
        default:
            console.log("default");
            break;

    }

2  表达式判断问题

 switch (110+1) {
        case 110:
            console.log("110");
            break;
        case 1:
            console.log("1");
            break;
            console.log("1+110");
            break;
        default:
            console.log("default");
            break;
    }

3  case的穿透问题

 var num=1;
    switch (num) {
        case 1:
            console.log("壹");
            break;
        case 2:
            console.log("贰");
        case 3:
            console.log("叁");
        default:
            console.log("非法数字")

    }

4 循环:重要的结构,其他特点在给定条件成立时,反复执行某程序段,直到条件不成立为止。

<1给定的条件称为循环条件,反复执行的程序称为循环体。

循环结构简单来说就是:一次又一次的执行相同的代码块。

<2while循环特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行。

<3 while

示例:

爱你3000遍
    var num=0;
    while (num<3000){
         num++;
        console.log('爱你' +num+'遍!\n');
     }
    var num=10;
     while (num<10){
         alert(num);
         num++;
     }

1 提示用户输入一个正整数n,计算1+2+3+...+n的和

    var sum=0;
     var num=1;
     while (num<10){
        sum+=num;
         num++;
     }
 console.log(sum);

2 获取1~100之间7的倍数的个数并打印,并统计个数

     var count=1;
     var num=0;
     while (count<=100){
         if (count % 7===0){
             console.log(count);
             num++;

         }
         count++;
     }
 console.log(num);

 

4 for循环

// 爱你3000遍
    for (var i=0;i<=3000;i++){
        console.log('爱你'+i+'遍\n' );

    }
//    好友列表1
//     好友1
//     好友2
//     好友3
//     好友列表2
//     好友1
//     好友2
//     好友3
    for (var i=1; i<=2; i++){
        console.log('好友列表'+i);
        for (var j=1;j<=3;j++){
            console.log('好友'+j);
        }
    }

 

2 for循环嵌套实现:打印99乘法表
 for (var i=1; i<=9;i++){
        for(var j=1;j<=i;j++){
            document.write('<span>'+j+'*'+i+'='+i*j+'</span>')
        }
        document.write('<br/>')
    }

想做出乘法表还需要一些样式,才能有乘法表的感觉。

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值