js笔记5-选择结构

一.if语句

1.真值和假值

小括号里的条件是真值(逻辑值),才能执行花括号里的代码。

<script>  
    if(true){
        var a=10;
        console.log(a); //10
    }
</script>  

小括号里的条件是真值(数值,会转换成逻辑值),才能执行花括号里的代码。

<script>  
    if(1){
        var a=10;
        console.log(a); //10
    }
</script>  

小括号里的条件是真值(两个数进行比较运算得出的逻辑值),才能执行花括号里的代码。

<script>  
    if(8>7){
        var a=10;
        console.log(a); //10
    }
</script>  

小括号里的条件为假值(逻辑值),就不能执行花括号中的代码。

<script>  
    if(false){
        var a=10;
        console.log(a); //无法打印,但是控制台不会报错
    }
</script>  

小括号里的条件为假值(数值,会转换成逻辑值),就不能执行花括号中的代码。

<script>  
    if(0){
        var a=10;
        console.log(a); //无法打印,但是控制台不会报错
    }
</script>  

小括号里的条件是假值(两个数进行比较运算得出的逻辑值),才能执行花括号里的代码。

<script>  
    if(8<7){
        var a=10;
        console.log(a); //无法打印,但是控制台不会报错
    }
</script>  

总结

真值:条件成立。例如,2>1

假值:条件不成立。例如,2<1

2.逻辑运算符的参与

逻辑运算符采用了&&,它的作用:只有小括号里的两个条件都是真值,才能执行花括号中的代码。

第一种情况:两个真值

<script>  
    if(8>7 && 2>1 ){
        var a=10;
        console.log(a);  //10
    }
</script>  

第二种情况:一真一假

<script>  
    if(8>7 && 2<1 ){
        var a=10;
        console.log(a);  //无法打印
    }
</script>  

在生活中,灯泡串联图是两个灯泡连在一起的,只要有一盏灯不会亮,其他的灯也就不会亮,因为他们之间的线路是连在一起的。

从中文意思来看,是多选一的意思。

逻辑运算符采用了||,它的作用:在小括号的所有条件中,只要有一个是真值,就能运行花括号里的代码。

第一种情况:一真一假

<script>  
    if(8>7 || 2<1 ){
        var a=10;
        console.log(a);  //10
    }
</script>  

在生活中,灯泡并联图是多个灯泡的线路是分开的,如果有一个灯泡的线路走不通了,可以换一条可以走通的线路。所以,一盏灯泡的线路阻塞是不会影响总线路的运行,大不了换一条就行了。

从中文意思来看,是表否定的意思。

逻辑运算符采用了!

!的作用:取反。

<script>  
    if(!2<1){
        var a=10;
        console.log(a);  //10
    }
</script> 

2<1返回的结果是个假值,利用!可以变成真值。

总结:!可以加很多次,可以不断地取反。

二.if … else if语句

从英文的角度上看,if是一个条件语句,所以后面肯定是要跟条件的。

从编程的角度上看,else是一个关键字,必须要和if语句搭配使用。

<script>  
    var a=prompt("请输入一个数");
    if(a>0){
        console.log("正数"); 
    }
    else if(a<0){
        console.log("负数");  
    }
    else if(a==0){
        console.log("0既不是正数,也不是负数");  
    }
</script>  

从代码中可以看出,只要有了else关键字,就可以实现多条分支语句的判断。

三.if … else语句

关键字else的后面是不可以跟条件的,只有if语句后面才能跟条件。

从英文角度来看,else是否则的意思。

else:除了上面的条件之外,其他的条件都会打印负数。

<script>  
    var a=prompt("请输入一个数");
    if(a>0){
        console.log("正数"); 
    }
    else if(a==0){
        console.log("0既不是正数,也不是负数");  
    }
    else{
        console.log("负数");  
    }
</script>  

四.switch语句

switch是有开关的意思,和编程连接起来的话,开就是1,关就是0。

1是真值,0是假值。

case是关键字,有符合实际情况的意思,相当于输入内容与case后面的内容相符合,就能打印结果。

default是关键字,有默认的意思,与下面的例子结合,相当于其他的实际情况,控制台都会打印“我翻译不出来”。

注意事项:数字不需要加双引号,但是字符串一定要加。变量也不可以加双引号,不然它变量也变成字符串了。


写法1:在switch后面的小括号中填了一个变量,根据你输入的英语单词,来识别中文。

<script>  
    var a=prompt("请输入一个单词"); //提示框:用来输入
    switch(a){
        case "cat":
             console.log("猫");
             break;
        case "mouse":
             console.log("老鼠");
             break;   
        default:
             console.log("我翻译不出来");
             break;
    }
</script>  

写法2:在switch后面的小括号里是可以进行数学运算的,因为它有开和关的特性,直接根据值来判断的。

<script>  
    var a=prompt("请输入一个分数");
    switch(a/10){
        case 9:
             console.log("结果为9");
             break;
        case 8:
             console.log("结果为8");
             break;   
        default:
             console.log("无结果");
             break;
    }
</script>  

总结:提示框输入的内容是字符串类型,可以用typeof测试一下。如果要转换成数字类型的,就需要用parseInt()的方法来做。

var a=parseInt(prompt("请输入一个数"));

五.if语句与switch语句的区别

相同点:它们都是条件判断语句。


不同点:

if语句可以在条件里进行逻辑判断。

switch语句不可以在条件里进行逻辑判断。


六.嵌套

根据html标签的理解方式来说,相当于是一个大盒子里有两小盒子。

也就是1个div标签里有1个p标签和1个span标签。


综合案例:求最大值

<script>  
    var  a=parseInt(prompt("请输入一个数"));
    var  b=parseInt(prompt("请输入一个数"));
    var  c=parseInt(prompt("请输入一个数"));
    console.log("三个数"+a+" "+b+" "+c+" ");
    if(a>b){
        if(a>c){
            console.log("最大值:"+a);
        }
        else{
            console.log("最大值:"+c);
        }
    }
    else{
        if(b>c){
            console.log("最大值:"+b);
        }
        else{
            console.log("最大值:"+c);
        }
    }
</script>  

思路

①先要把输入内容转换成数字类型,为了做一些数学上的判断。

②打印三个数。

③第1个数与第2个数进行比较,如果第1个数大,就让第1个数与第3个数进行比较。如果第1个数大,就打印第1个;否则就打印另外一个。

④第1个数与第2个数进行比较,如果第2个数大,就让第2个数与第3个数进行比较。如果第2个数大,就打印第2个;否则就打印另外一个。

篇章

上一篇:js笔记4-数学对象和运算符

下一篇:js笔记6-循环结构

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值