JavaScript】7_代码块与if_else

举报
魔天伦 发表于 2023/02/11 11:02:17 2023/02/11
【摘要】 流程控制1、代码块使用 {} 来创建代码块,代码块可以用来对代码进行分组,同一个代码中的代码,就是同一组代码,一个代码块中的代码要么都执行要么都不执行let 和 var在JS中,使用let声明的变量具有块作用域在代码块中声明的变量无法在代码块的外部访问使用var声明的变量,不具有块作用域不过现在我们已经很少使用var去声明变量了,一般我们第一选择是const,之后使用let声明。基本上不使用...

流程控制

1、代码块

使用 {} 来创建代码块,代码块可以用来对代码进行分组,

同一个代码中的代码,就是同一组代码,一个代码块中的代码要么都执行要么都不执行

let 和 var

  • 在JS中,使用let声明的变量具有块作用域

在代码块中声明的变量无法在代码块的外部访问

  • 使用var声明的变量,不具有块作用域
  • 不过现在我们已经很少使用var去声明变量了,一般我们第一选择是const,之后使用let声明。基本上不使用var去声明变量了,因为var的作用范围太广泛,破坏了代码结构。


{
            var a = 10
        }


输出方式:


console.log(`需要存${year}年,最终的钱数为${money}元!`)


2、if语句

流程控制语句可以用来改变程序执行的顺序
1. 条件判断语句
2. 条件分支语句
3. 循环语句

if语句
- 语法:
if(条件表达式){
语句...
}


- 执行流程
        if语句在执行会先对if后的条件表达式进行求值判断,
            如果结果为true,则执行if后的语句
            如果为false则不执行

    if语句只会控制紧随其后其后的那一行代码,如果希望可以控制多行代码,可以使用{}将语句扩起来
        最佳实践:即使if后只有1行代码,我们也应该编写代码块,这样结构会更加的清晰

    如果if后的添加表达式不是布尔值,会转换为布尔值然后再运算
<script>
      if(false)
          alert('哈哈哈')

        let a = 10
        if(a > 10){
            alert('a比10大')
        }
            
        // if(100){
        //     alert('你猜我执行吗?')
        // }

        if(a == 10){
            alert('a的值是10!')
        }
</script>


3、if-else

if-else语句

  • 语法:
    if(条件表达式){
    语句...
    }else{
    语句...
    }
  • 执行流程:
    if-else执行时,先对条件表达式进行求值判断,
    如果结果为true 则执行if后的语句
    如果结果为false 则执行else后的语句

if-else if-else语句:

  • 语法:
    if(条件表达式){
    语句...
    }else if(条件表达式){
    语句...
    }else if(条件表达式){
    语句...
    }else if(条件表达式){
    语句...
    }else{
    语句...
    }
  • 执行流程:
    if-else if-else语句,会自上向下依次对if后的条件表达式进行求值判断,
    如果条件表达式结果为true,则执行当前if后的语句,执行完毕语句结束
    如果条件表达式结果为false,则继续向下判断,直到找到true为止
    如果所有的条件表达式都是false,则执行else后的语句
    注意:
    if-else if-else语句中只会有一个代码块被执行,
    一旦有执行的代码块,下边的条件都不会在继续判断了
    所以一定要注意,条件的编写顺序
prompt() 可以用来获取用户输入的内容

它会将用户输入的内容以字符串的形式返回,可以通过变量来接收


// prompt() 可以用来获取用户输入的内容
        // 它会将用户输入的内容以字符串的形式返回,可以通过变量来接收
        let num = +prompt("请输入一个整数:")
        alert(typeof num)
<script>
    if(age >= 18 && age < 30){
        alert('你已经成年了!')
    }else if(age >= 30 && age < 60){
        alert('你已经步入中年了!')
    }else if(age >= 60){
        alert('你已经退休了!')
    }
</script>


练习1


<script>
            /* 
                - 练习1:
                    编写一个程序,获取一个用户输入的整数。然后通过程序显示这个数是奇数还是偶数。
            */
            // 编写一个程序,获取一个用户输入的整数
            // let num = +prompt("请输入一个整数")
            let num = parseInt(prompt("请输入一个整数"))

            // 验证一下,用户的输入是否合法,只有是有效数字时,我们才检查它是否是偶数
            // 我们不能使用==或===来检查一个值是否是NaN
            // 可以使用isNaN()函数来检查一个值是否是NaN
            if (isNaN(num)) {
                alert("你的输入有问题,请输入整数!")
            } else {
                // 然后通过程序显示这个数是奇数还是偶数。
                if (num % 2 === 0) {
                    alert(`${num} 是偶数!`)
                } else {
                    alert(`${num} 是奇数!`)
                }
            }
        </script>


练习2


<script>
            /* 
                - 练习1:
                    编写一个程序,获取一个用户输入的整数。然后通过程序显示这个数是奇数还是偶数。
            */
            // 编写一个程序,获取一个用户输入的整数
            // let num = +prompt("请输入一个整数")
            let num = parseInt(prompt("请输入一个整数"))

            // 验证一下,用户的输入是否合法,只有是有效数字时,我们才检查它是否是偶数
            // 我们不能使用==或===来检查一个值是否是NaN
            // 可以使用isNaN()函数来检查一个值是否是NaN
            if (isNaN(num) || num % 1 !== 0) {
                alert("你的输入有问题,请输入整数!")
            } else {
                // 然后通过程序显示这个数是奇数还是偶数。
                if (num % 2 === 0) {
                    alert(`${num} 是偶数!`)
                } else {
                    alert(`${num} 是奇数!`)
                }
            }
</script>


练习3


<script>
        /* 
            - 练习3:
            大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:
                高:180cm以上; 富:1000万以上; 帅:500以上;
                如果这三个条件同时满足,则:'我一定要嫁给他'
                如果三个条件有为真的情况,则:'嫁吧,比上不足,比下有余。'
                如果三个条件都不满足,则:'不嫁!'
        */

        // 获取男生的数据(身高、财富、颜值)
        let height = +prompt('请输入你的身高(厘米):')
        let money = +prompt('请输入你的身价(万):')
        let face = +prompt('请输入你的颜值(像素):')
        
        // height 180↑  money 1000↑ face 500↑
        if(height>180 && money>1000 && face>500){
            // 如果这三个条件同时满足,则:'我一定要嫁给他'
            alert('我一定要嫁给他!')
        }else if(height>180 || money>1000 || face>500){
            // 如果三个条件有为真的情况,则:'嫁吧,比上不足,比下有余。'
            alert('嫁吧,比上不足,比下有余。')
        }else{
            // 如果三个条件都不满足,则:'不嫁!'
            alert('不嫁!')
        }
    </script>
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。