前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript 条件判断

JavaScript 条件判断

作者头像
用户3519280
发布2023-07-07 15:47:41
1300
发布2023-07-07 15:47:41
举报
文章被收录于专栏:c++ 学习分享c++ 学习分享

JavaScript 条件判断

单行条件判断 JavaScript使用if () { ... } else { ... }来进行条件判断。 流程图 if (){ }else{ }

例如,根据年龄显示不同内容,可以用if语句实现如下:

代码语言:javascript
复制
var age = 20;
if (age >= 18) { // 如果age >= 18为true,则执行if语句块
alert('adult');
} else { // 否则执行else语句块
alert('teenager');
}

其中else语句是可选的。如果语句块只包含一条语句,那么可以省略{}:

代码语言:javascript
复制
var age = 20;
if (age >= 18)
alert('adult');
else
alert('teenager');

省略{}的危险之处在于,如果后来想添加一些语句,却忘了写{},就改变了if...else...的语义,例如:

代码语言:javascript
复制
var age = 20;
if (age >= 18)
alert('adult');
else
console.log('age < 18'); // 添加一行日志
alert('teenager'); // <- 这行语句已经不在else的控制范围了

上述代码的else子句实际上只负责执行console.log('age < 18');,原有的alert('teenager');已经不属于if...else...的控制范围了,它每次都会执行。 相反地,有{}的语句就不会出错:

代码语言:javascript
复制
var age = 20;
if (age >= 18) {
alert('adult');
} else {
console.log('age < 18');
alert('teenager');
}

这就是为什么我们建议永远都要写上{}

多行条件判断

流程图 if(){}else if(){} else if (){ }else{}

如果还要更细致地判断条件,可以使用多个if...else...的组合:

代码语言:javascript
复制
var age = 3;
if (age >= 18) {
alert('adult');
} else if (age >= 6) {
alert('teenager');
} else {
alert('kid');
}

上述多个if...else...的组合实际上相当于两层if...else...

代码语言:javascript
复制
var age = 3;
if (age >= 18) {
alert('adult');
} else {
if (age >= 6) {
alert('teenager');
} else {
alert('kid');
}
}

但是我们通常把else if连写在一起,来增加可读性。这里的else略掉了{}是没有问题的,因为它只包含一个if语句。注意最后一个单独的else不要略掉{}。 请注意,if...else...语句的执行特点是二选一,在多个if...else...语句中,如果某个条件成立,则后续就不再继续判断了。 试解释为什么下面的代码显示的是teenager:

代码语言:javascript
复制
'use strict';
var age = 20;

teenager

由于age的值为20,它实际上同时满足条件age >= 6age >= 18,这说明条件判断的顺序非常重要。请修复后让其显示adult。 如果if的条件判断语句结果不是true或false怎么办?例如:

代码语言:javascript
复制
var s = '123';
if (s.length) { // 条件计算结果为3
//
}

JavaScript把nullundefined0NaN和空字符串''视为false,其他值一概视为true,因此上述代码条件判断的结果是true。 例子 小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数: 低于18.5:过轻 18.5-25:正常 25-28:过重 28-32:肥胖 高于32:严重肥胖 用if...else...判断并显示结果:

代码语言:javascript
复制
var height = parseFloat(prompt('请输入身高(m):'));
var weight = parseFloat(prompt('请输入体重(kg):'));
let bmi =weight / height * height;
if(bmi >25 && bmi <28){
console.log("过重");
}else if(bmi >28 && bmi <32){
console.log("肥胖");
}else if(bmi >32){
console.log("严重肥胖");
}else if (bmi <18.5){
console.log("过轻");
}else if(bmi >18.5 && bmi<25 ){
console.log("正常");
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JavaScript 条件判断
    • 多行条件判断
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档