流控制

作者: 5cc9c8608284 | 来源:发表于2022-08-06 22:27 被阅读0次

    if判断

    if(条件1){
      // 如果条件1为真,就会执行代码块
      //代码块
    }else if(条件2){
      //代码块
    }else if(条件3){
    
    }else{
      // 以上条件都不满足就会执行这个代码块的代码
    }
    

    以下数据均判定为false:
    1).null
    2).undefined
    3).false
    4).NaN
    5).''
    6).0

    1.如果某个条件满足,则直接忽略后面的所有条件
    2.else if可以有多个或0个
    3.else可以有一个或者0个
    4.else可以换行,可以不换行
    5.如果代码块只有一条语句,可以省略花括号(不推荐)
    6.if只能出现一次

    var score=87;
    //给成绩划分等级 A:>=90  B:>=70 <90  C>=50  <=70 D:其他
    function getLevel(score){
      if(score>=90){
        return 'A'
      }else if(score>=70&&score<90){
        return 'B'
      }else if(score>=50&&score<=70){
        return 'C'
      }else{
        return '其他'
      }
    }
    console.log(getLevel(score));//B
    
    //简写形式
    function getLevel(score){
      if(score>=90){
        return 'A'
      }else if(score>=70){
        return 'B'
      }else if(score>=50){
        return 'C'
      }else{
        return '其他'
      }
    }
    console.log(getLevel(score));
    
    var score=97;
    //给成绩划分等级 A:>=90  B:>=70 <90  C>=50  <=70 D:其他
    // 三个独立的if块
    //这种判断的条件更多 影响执行效率
    if(score>=90){//符合条件打印A
      console.log('A');
    }
    if(score>=70){//符合条件,打印B
      console.log('B');
    }
    if(score>=50){//符合条件,打印C
      console.log('C');
    }else{
      console.log('D');
    }
    
    //x的打印结果为多少
    var x=1;
    if(x++>=1){//true
      x++
    }else if(++x>=2){
      x++
    }else{
      x--
    }
    console.log(x);//3
    
    //x的打印结果是多少
    if(!x){
      x=1
    }
    if(false){//就算这里的条件为false.下面的var x也会发生代码提升
      var x;//这里会发生变量提升,相当于在js脚本的第一行声明了x,但是并没有赋值
    }
    console.log(x);//1
    

    补充

    用户输入:prompt

    返回类型:null或者字符串

    该表达式得返回结果:

    1.null:表示用户点击了取消
    2.用户输入的字符串:表示用户点击了确定,得到用户输入的结果

    let num=prompt('请输入一个数字',0);//等待用户操作(确定,取消) 将用户操作的结果保存到变量result中
    console.log(num);
    
    let num=prompt('请输入一个数字',0);
    console.log(typeof  num);//string
    

    将字符串转换为数字:+字符串

    // 让用户输入一个数字,如果点击了取消,输出取消,如果点击了确定,根据输入的内容判断输入是否正确
    var result=prompt('请输入你的年龄',18);
    if(typeof result=='object'){
      console.log('您已取消');
    }else if(typeof +result=='number'){
      console.log(`您输入的年龄是${result}`);
    }else {
      console.log('类型错误');
    }
    
    var result=prompt('请输入您的年龄');
    if(result===null){
      console.log('点击了取消');
    }else{
      //点击了确定
      result=+result;//转换为数字
      if(isNaN(result)){
        //不是正常的数字
        console.log('输入有误');
      }else{
        console.log(result,typeof result);
      }
    }
    

    练习题

    1. 提示用户输入一个三位数,若不是三位数,则提示用户输入有误;若是三位数,则判断该数能否被13整除。
    // 提示用户输入一个三位数,若不是三位数,则提示用户输入有误;若是三位数,则判断该数能否被13整除
    var result=prompt('请输入一个三位数字',000);
    //用户点击了取消
    if(result===null){
      console.log('您点击了取消');
      //用户点击了确定
    }else if(result.length!=3){
      console.log('输入有误');
    }else{
      //输入的长度等于3
      //输入位数是正确的
      // 判断是不是数字
      result=+result;
      if(isNaN(result)){
        //不是一个正常的数字
        console.log('请输入合适的数字');
      }else{
        // 判断该数能否被13整除
        if(result%13==0){
          console.log('可以被13整除');
        }else{
          console.log('不能被13整除');
        }
      }
    }
    
    
    let result=+prompt('请输入一个三位数');
    if(isNaN(result)||result<100||result>999){
      console.log('输入有误');
    }else{
      //判断是否能被13整除
      if(result%13==0){
        console.log('能被13整除');
      }else{
        console.log('不能被13整除');
      }
    }
    
    1. 让用户输入一个成绩(0-100),判断这个成绩属于哪个范围并输出结果(A:90-100 B:70-89 C:60-69 D:40-59 E:0-39),若用户输入的不是0-100的数字,则输出输入有误。
    // 让用户输入一个成绩(0-100),判断这个成绩属于哪个范围并输出结果
    // (A:90-100  B:70-89  C:60-69  D:40-59  E:0-39),若用户输入的不是0-100的数字,则输出输入有误
    var score=prompt('请输入您的成绩',0);
    if(isNaN(score)||score<0||score>100){
      console.log('输入有误');
    }else{
      if(score>=90){
        console.log('A');
      }else if(score>=70){
        console.log('B');
      }else if(score>=60){
        console.log('C');
      }else if(score>=40){
        console.log('D');
      }
      else{
        console.log('E');
      }
    }
    
    1. 根据世界卫生组织推荐的计算方法,
      男性标准体重计算方法为(身高cm-80)×70﹪
      女性标准体重计算方法为(身高cm-70)×60﹪
      标准体重正负10%为正常体重,低于标准体重的10%为过瘦,高于标准体重的10%为过重
      编写程序,让用户输入性别、身高、体重,判断用户的健康状况
      健康状况有3种:
    1. 你的体重正常,请继续保持
    2. 你的身体偏瘦,请加强营养
    3. 你的身体偏胖,请加强锻炼
    let sex=prompt('请输入您的性别(0表示女性,1表示男性)',);
    let height=prompt('请输入您的身高(单位为cm)',160);
    let weight=prompt('请输入您的体重(kg)');
    if(sex!=0||sex!=1||isNaN(weight)||isNaN(height)){
      console.log('输入有误');
    }
    //计算标准体重得函数
    function getWeight(sex,height){
      if(sex==0){
        //女性
        return (height-70)*0.6
      }else{
        //男性
        return (height-80)*0.7
      }
    }
    let standardWeight=getWeight(sex,height);
    // 最高标准体重
    let highStandardWeight=standardWeight*(1+0.1);
    // 最低标准体重
    let lowerStandardWeight=standardWeight*(1-0.1);
      // console.log('你的体重正常,请继续保持');
      // 属于健康范围
      if(weight>highStandardWeight){
        console.log('你的身体偏胖,请加强锻炼');
      }else if(weight<lowerStandardWeight){
        console.log('你的身体偏瘦,请加强营养');
      }else{
        console.log('你的体重正常,请继续保持');
      }
    
    1. 某理财公司推出一种理财服务,服务规则如下:
      若用户的理财金额在50万元以下,则每年的收益按照4%计算。
      若用户的理财金额在50万元以上(包括50万),则每年收益按照4.5%计算。
      若用户的理财金额超过200万,除了理财收益外,还要额外给予用户收益金额的10%
      编写程序,让用户输入理财金额和理财年限,计算到期后的收益
    let money=prompt('请输入理财金额');
    let year=prompt('请输入理财年限');
    // 容错
    if(isNaN(money)||isNaN(year)||year<=0||money<=0){
      console.log('输入错误');
    }
    function calcProfit(money,year){
      
    //假设用户输入的是正确的金额
    if(money<500000){
      return money*(0.04)*year
    }else if(money>=500000&&money<2000000){
      return parseInt(money*(0.045)*year)
    }else{
      let lirun=money*(0.045)*year;
      return parseInt(lirun*(1+0.1))
    }
    }
    console.log(calcProfit(money,year));
    
    1. 编写一个用户和计算机猜拳的游戏,用户输入剪刀、石头或布,与计算机的出拳进行比较,判断胜负
    let userFist=prompt('请出拳(剪刀或者石头或者布)');
    let arr=['石头','剪刀','布'];
    let computerFistIndex=Math.floor(Math.random()*arr.length);
    let computerFist=arr[computerFistIndex];
    if(userFist!='石头'&&userFist!='剪刀'&&userFist!='布'){
      console.log('输入错误');
    }else{
      console.log(userFist,computerFist);
      if(userFist==computerFist){
        console.log('平局');
      }else if(userFist=='剪刀'&&computerFist=='石头'||userFist=='石头'&&computerFist=='布'||userFist=='布'&&computerFist=='剪刀'){
        console.log('计算机胜利');
      }else {
        console.log('用户胜利');
      }
    }
    

    相关文章

      网友评论

          本文标题:流控制

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