码迷,mamicode.com
首页 > Web开发 > 详细

Js2

时间:2018-10-19 00:15:04      阅读:399      评论:0      收藏:0      [点我收藏+]

标签:说明   执行   控制语句   改版   执行顺序   分支   undefined   定义   def   

1、运算符
   1、位运算符
      程序中的数据在计算机中都是以二进制形式存储的,位运算实际上是对二进制的每一位进行操作。
      1、按位与:&
         将操作数转换二进制之后,按位与,相同则为1,不同则为0
      et:  3 & 5 = 1
            011
          & 101
         ------
                001
         使用:常用于判断整数的奇偶,将一个操作数与1做位与,结果为1,该操作为奇数,结果为0,说明该操作数为偶数。
       et:  3 & 1 = 1
         011
         001
          ------
         001
         2 & 1 = 0
         010
         001
          ------
         000
      2、按位或:|
         将操作数转换为二进制之后,做位或,
       et:  3 | 5 = 7
         011
         101
          ------
         111
         et:
      3、按位异或:^
         两位不同则为1,相同则为0。
       et:   3 ^ 5 = 6
         011
         101
         ------
             110
     异或操作可以在不借助三方变量的情况下互换两个变量的值
       et:
         var a = 3,b = 5;
         var c = a;
         a = b;
         b = c;
       使用异或:
         a = a ^ b;  //6
         b = a ^ b;  // 6 ^ 5  -> 011 = 3
         a = a ^ b;  // 6 ^ 3  -> 101 = 5
   2、三目(元)运算符
    语法:
        表达式1 ? 表达式2 : 表达式3
    使用:
      1、判断表达式1的结果(布尔值)
      2、如果表达1结果为ture,执行表达式2
      2、如果表达1结果为false,执行表达式3
         et:
            var weight = 150;
        var res = weight > 130 ? "有些微的胖" : "正常";
        console.log(res);

                练习1 :
                 1. 接收用户输入的成绩score
                 2. 判断成绩等级
                         score >= 90 优秀
                         80 <= score <90 良好
                         60 <= score <80 及格
                         score < 60 不及格
                 3. 提示用户当前成绩...
         练习2 :
                 1. BMI 身体指数计算
                 2. 接收用户输入,身高(m),体重(kg)
                 3. bmi = 体重 / (身高 * 身高)
                 4. bmi < 18.5 偏瘦
                      bmi > 23.9 偏胖
                      介于中间,健康



       
     练习1、
     var score = prompt("输入成绩:");
     var res = score >= 90 ? "优秀" : score >= 80 ? "良好" : score >= 60 ? "及格" : "不及格";
     console.log(res);
     练习2、
         var height = prompt("请输入身高(m):");
     var w = prompt("请输入体重(kg):");
     var bmi = w / (height * height);
     var res = bmi > 23.9 ? "偏胖" : bmi < 18.5 ? "偏胖" : "正常";
     console.log(res);

    

2、流程控制
   控制代码的执行顺序
   流程控制语句:
     1. 顺序结构:按照代码书写顺序,代码自上至下一行一行执行
     2. 选择结构(分支结构)
     3. 循环结构
   1、选择结构:
      根据条件判断的结果选择执行某一段代码执行
      1、if 条件语句
        1、if语句
             if(判断条件){
             条件为真时执行的代码段,
             条件为假时,会跳过
             }
         注意:
             1. if()后面的{} 可以省略,省略之后,认为if()后面的第一条语句是条件成立时待执行的语句
         2. 判断条件必须是布尔类型的结果
         3. 任何非0值都为真,0为假,以下条件的结果都为假 :
             if(0){}
             if(0.0){}
             if(""){}
             if(NaN){}
             if(undefined){}
             if(null){}
         示例:if.html

       2、if-else语句
           语法:if(条件){
                 条件为真时执行
         }else {
             条件为假时执行
         }
         et:
         var age = prompt("请输入年龄");
         if(age >= 18){
             console.log("成年人可以进网吧");
         } else {
             console.log("未成年人禁止入内");
         }
        3、if-else if语句
       多重分支结构
       语法:
         if(条件1){
             条件1成立时执行
         } else if(条件2){
             条件1为假,条件2成立时执行
         } else if(条件3){
             条件2为假,条件3为真时执行
         }
                      ...
         }else{
                      条件不满足时执行
         }
        练习:
        1、成绩等级判定
        2、日期计算器
         1. 接收用户输入 年 月 日,判断用户输入的日期是当年的第几天
            et:  用户输入 2018-1-15
                 输出     当天是2018年的第15天
             用户输入 2018-10-15
             输出     当天是2018年的第31 + 15天
            实现:
             1. 将当前月之前的整月天数累加
             2. 加上当前月的天数
             3. 判断当前年份是否是闰年,若当年是闰年,并且用户输入的月份>2,总天数再+1
     示例见:03if 练习.html

     2、switch 语句
        在进行值判断时用的比较多
        语法:
        switch(值){
         case 值1 :
             值匹配恒等时,执行的语句
             break;
         case 值2 :
             值匹配恒等时,执行的语句
             break;
         ...
         default :
             待执行的语句
        }
     注意 :
         1. switch一般用于值得匹配,()中表示的是值
         2. case 可以使用多个,每个case对应一种情况
         3. case 后面直接写要对应匹配的值
              et:
             var a = 10;
             swicth(a){
                 case 1 :
                 console.log("a=1");
                 break;
                 case 12 :
                 console.log("a=10");
                 break;
                 default :
                 console.log("查询不到");
             }
         4. 如果case给出的值匹配成功,执行当前case :后面的语句
         5. break 用于跳出switch语句匹配,不再向下执行匹配,可以省略
         6. default 表示所有的case都匹配失败之后默认执行的语句
     其他情况 :
         1. default 关键字一般写在switch的末尾,匹配失败之后最终执行的操作,可以省略
         2. break 表示跳出switch语句,可以省略,如果省略break,会从当前匹配到的case开始向后依次执行所有的语句。
         3. case 关键字,可以共用代码语句,注意配合break
              et:
             case 1:
             case 2:
             case 3:
                 console.log();
                 break;
         练习:
         1、每周食谱
            用户输入星期几 (1-7)
            判断当前日期对应的食谱
              星期一 :今天是星期一,吃红烧肉
          ...
          星期天 :今天是星期天,吃红烧鱼
     见:4.html
         2、改版日期计算器,计算当日是当年的第几天
     见:5.html   
        
   2、循环结构:
     重复执行某一段代码
     1、循环语句的三要素
     1. 循环变量
     2. 循环条件
     3. 循环体
     2、语句
        1、while 循环
         1、语法:while(循环条件){
             条件成立时,执行循环体
              }
         2、执行流程 :
         1. 定义循环变量
         2. 判断循环条件
         3. 条件成立,执行循环体
         4. 更新循环变量 (重点)
         5. 重复步骤 2 - 3 - 4,直到条件不成立,跳出循环
         练习 :
         1. 输出 1-100之间的数字
         2. 计算 1-100之间所有数字的和
         3. 输出 1-100之间所有3的倍数
        2、do-while循环
         1、语法:do{
             //循环体
              }while(循环条件);
         2、执行流程 :
         1. 定义循环变量
         2. 执行do操作,循环体
         3. 循环体中更新循环变量
         4. 判断循环条件,决定是否继续执行循环体
         3、特点:
             do-while循环不管条件是否成立,都至少执行一次循环体
             4、while 与 do-while区别:
         while循环先判断循环条件,为真才执行循环体;
             do-while循环不管条件是否成立,先执行循环体,后判断循环条件。即使循环条件不成立,也会执行一遍循环体。
              et:
             var i = 101;
             do{
                  console.log(i);
                  //更新循环变量
                      i ++;
             }while(i < 101);
         练习 :
         1、循环接收用户输入,并在控制台中输出;
            直到用户输入“exit”,结束循环
         2、使用while循环改版日期计算器
        3、for循环
         1、语法:for(定义循环变量;循环条件;更新循环变量;){
              //循环体
              }
             et:
            for(var i = 1;i < 101; i ++){
             console.log(i);
            }
         2、for循环与while循环区别:
              1、循环的执行流程相同
              2、for  循环常用于确定循环次数的场合
             while循环常用于不确定循环次数的场合
        4、循环控制
       1、continue 表示跳出本次循环,开始下一次循环
       2、break    表示跳出循环,结束整个循环,并且循环体中break后面的语句都不执行
       练习 :
         1. 判断素数(质数)
             只能被1和自身整除的数是质数
             接收用户输入的数字,判断是否为素数
         2. 接收用户输入年月日,判断当日是星期几
            参考 :已知 1990年1月1日是星期一
            解决思路 :   
              1. 接收年月日,转换为Number
              2. 计算当前日期与1990-01-01之间间隔多少天
             年累加 1990 -> year-1
             当前年中月份的累加
             当前月的天数
              3. 总天数 % 7(0 - 6 代表周日 - 周六)
     3、循环的嵌套
     可以再循环中再次嵌套其他循环
     语法:for(var i = 0; i < 10; i ++){               
               for(var j = 0; j < 10 ; j ++){
               }
           }
     练习 :
     1. 在控制台中输出以下图形
        *
        **
        ***
        ****
        *****
     2. 在控制台中输出图形
           *
          ***
         *****
        *******
       *********
     3. 控制台输出99乘法表

Js2

标签:说明   执行   控制语句   改版   执行顺序   分支   undefined   定义   def   

原文地址:https://www.cnblogs.com/py321/p/9813272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!