流程控制
1、代码块
使用 {} 来创建代码块,代码块可以用来对代码进行分组,
同一个代码中的代码,就是同一组代码,一个代码块中的代码要么都执行要么都不执行
let 和 var
- 在JS中,使用let声明的变量具有块作用域
在代码块中声明的变量无法在代码块的外部访问
- 使用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>