日期:2024年10月18日

if语句

if语句也称为条件判断语句。通过if语句可以为语句的执行设置一些条件,条件满足时语句执行,否则语句不执行。

语法一

if(条件表达式){
语句
}

这是最简单的if语句,在if后的()中设置了条件表达式。条件表达式最终会被计算为一个布尔值(true或false),如果值为true则执行其后的语句,如果值为false则不会执行。

示例:

if (true) {
console.log('条件表达式为true,语句会执行')
}

上例中,if后的条件表达式就是true,所以运算结果也是true,语句最终会执行,在控制台中会看到打印语句的输出。

示例:

if (false) {
console.log('条件表达式为false,语句会执行')
}

上例中,if后的条件表达式是false,语句最终不会执行,控制台不会看到任何输出。

除此之外,如果在条件表达式中传递的并不是一个布尔值,比如这样:

if ('hello'){
console.log('会不会执行呢?')
}

上例中,条件表达式传递的是一个字符串’hello’,条件表达式最终都会转换为布尔值,而’hello’是一个非空字符串,所以这里它会被转换为true,所以代码依然可以执行。

类似上例中,直接在条件表达式中写值的情况并不多。因为一旦直接将值写在条件表达式上,那么它的最终值就已经确定,值一旦确定那么所谓的逻辑判断也就没有什么意义了,所以一般条件表达式处会设置变量,或者是一些由变量的组成的表达式。比如这样:

条件表达式示例:
a > 10 // 当a大于10时,返回true
a > 10 && a < 20 // 当a大于10且小于20时,返回true
a > 10 || a < 5 // 当a大于10或a小于5时,返回true

示例:

if (a > 10) {
console.log('a比10要大')
}

这样一来,语句执行与否将会由a的值来决定,a大于10那么语句就会执行,a不大于10,语句就不会执行。

代码块

这里if后的{}被称为代码块,在JS中代码块用来为代码分组,在同一代码块中的代码属于同一组。

{    
    console.log('a比10要大')
}

上例就是一个代码块,在if语句中,如果条件表达式为true,则代码块中的代码将会自上向下依次执行,如果条件表达式为false,则代码块中的代码将不会执行。

目前,我们写的if语句都比较简单,代码块中只有一行代码,其实也是可以写多行的。

if (a > 10) {    
    console.log('a比10要大')
    console.log('1111111')
    console.log('2222222')
}

上边代码块中包含三行代码,这三行代码要么都执行,要么都不执行,由if后的条件表达式决定。

如果if后只有一条语句,像这样的:

if ('hello'){    
    console.log('会不会执行呢?')
}

这里的{}可以省略不写

if ('hello')
    console.log('会不会执行呢?')

这两种写法的效果是一样的。

0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x