js中if语句以及三元运算符

控制语句

语句控制的是:数据 运算符 以及表达式
语句可以完成逻辑编程;语句中的代码片段,不是所有的都必须执行

控制语句分类:
1.条件语句
2.循环语句
今天接下来主要写的是条件语句。

条件语句

1.if(){} else{}

  • 应用:在不同条件下输出不同结果时, 难点【如何根据条件写表达式】

  • 代码块中变量 是【全局变量】

  • 如果执行满足一个条件的代码块,其他条件下代码块不会执行

  • ()必须是【true】才能执行 if 中 代码块,

  • true来源 1.直接true 2.表达式返回值 3.直接使用变量,变量的值转为布尔类型
    在这里插入图片描述
    举个例子:

      //需求:测智商(要完成的事情)
      //1.不同条件下输出不同的结果
      //2.确定条件  用户输入数组小于100 低智商100-120 正常
                   120-140 高智商  140以上 比爱因斯坦还厉害
    
      var num = prompt();
      if (num < 100) {
          alert('你的智商为' + num + '! 你的智商真低。');
      } else if (num <= 120) {
          alert('你的智商为' + num + '! 你的智商正常。');
      } else if (num <= 140) {
          alert('你的智商为' + num + '! 你的智商很高。');
      } else {
          alert('你的智商为' + num + '! 你的智商比爱因斯坦还厉害。');
      }
    

三元运算符

三元运算符是很方便很好用的一种条件判断方法,这个方法可以使调用或渲染数据时逐级筛选。不仅如此,如果适当的扩展三元运算符的逻辑,这个判断方法可以在某种情景下提高代码效率。

语法格式:
条件表达式?true:false

语法说明:
? 左边为 【条件】也就是 if 中()内容
: 右边为 【else 语句】
? 与 : 之间是满足条件的【if语句】

这个结构类似于:

     if(条件表达式){
	     //true
	 }else{
	     //false
     }

例子:

1、使用三元运算符计算2个数的最大值

	  var x, y, z;
      x = window.prompt("第一个数");//从页面中接受的是字符串
      y = window.prompt("第二个数");
      z = Number(x) > Number(y) ? x : y; //将字符串转换为数字再进行比较
      console.log(z);
      // 等同于
      if (Number(x) > Number(y)) {
          z = x;
     } else {
          z = y;
     }
     //例如输入第一个数为10,第二个数为15,会得到结果为15

2、使用三元运算符求一个数的绝对值

	var x, y;
    x = window.prompt("请输入:");
    y = x >= 0 ? x : -x;
    //等同于
    if (x > 0) {
  	      y = x;
    } else {
	      y = -x;	 
    }
    console.log(y);
    //例如输入111,y=111
    //例如输入-111,y=111

两种写法进行了对比,我们可以很明显的看出三元运算符的条件判断写法代码量更简洁,而常用的if…else…语句判断,会显得有点臃肿,而且也不够优美。所以我觉得懂得运用三元运算符是很有必要的。

三元运算符不仅在简单的条件判断下能用到,也能在一些复杂的场景下运用,那我们就通过三元运算符来模拟if( ){ } else if( ){ } else{ } 的判断模式。
接下来我再举例子,例子如下代码:

    var  flag = window.prompt("请输入第一个数:");
	var a = 'aa';
    // () 作用;分组  优先级高
    flag == 1 ? (a = 'aa' ? console.log('pangDa真帅。'  : console.log('pangDa真可爱。')) : console.log('pangDa加油哦。');
    
    //等同于
    if(flag == 1){      
	    if(a = 'aa'){
    	    console.log('pangDa真帅。');
   		 }else{
    	    console.log('pangDa真可爱。');
  	     }
     }else{
         console.log('pangDa加油哦。');
     }

	 //例如输入第一个数为1,则进行if(flag===1){}里面的判断
	 //输入第二个数为aa,此刻会得到结果为pangDa真帅。
	 //例如输入除了1以外其他值,会得到结果'pangDa加油哦。

我们除了可以把三元操作符用在等式的右边,也可以写在左边,例如:

    var stop , age = 16;
    age > 18 ? console.log('你已经是大人了啊,你要更加努力了啊') : stop = console.log('你还年轻,不过也要加油哦');
    //这里会输出 你还年轻,不过也要加油哦
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值