【JavaScript】if分支语句
创始人
2024-04-23 12:53:06
0

文章目录

  • 一、if分支语句
    • if分支语句的语法结构
      • 1、单分支
      • 2、双分支
      • 3、多分支
    • if分支语句的应用
    • 总结if的特点

一、if分支语句

if分支语句的语法结构

语法结构有三种(单分支,双分支,多分支)
重点内容1:必须熟悉布尔值真假情况(0,‘’,null,undefined,NaN,false)
重点内容2:if的条件可以是任意的表达式,但是结果一定是布尔值,系统自动调用Boolean方法进行处理。

1、单分支

**语法: **if(条件){满足条件(条件为真时)执行的语句块}

if (1) {console.log('语句会执行');}if ('饿了困了') {console.log('喝东鹏特饮');}if (false) {console.log('我也想出来转转');}/* isNaN函数会首先尝试将这个参数转换为数值,然后才会对转换后的结果是否是NaN进行判断。 */var num = prompt('请输入数字:');if (!isNaN(num)) { //是数字console.log('你输入的是数字:' + num);}

2、双分支

**语法:**if(条件){ 满足条件(条件为真)执行的语句块 } else { 不满足条件(条件为假)执行的语句块 }

var num = prompt('请输入数字:');if (!isNaN(num)) { //是数字alert('你输入的是数字:' + num);} else {alert('你输入的不是一个数字');/* 案例:输出数字,判断数字是奇数还偶数(if语句的嵌套:if语句
里面存在if语句) */var num = prompt('请输入数字:'); //prompt里面输入的内容都是字符串格式的if (!isNaN(num)) { //是数字执行这里   isNaN将字符串格式的数字转换成数字// 继续判断数字是奇数还是偶数if (num % 2 === 0) { //偶数alert('你输入的数字' + num + '是偶数');} else { // 奇数alert('你输入的数字' + num + '是奇数');}} else { //不是数字执行这里alert('你输入的不是一个数字');}

3、多分支

**语法:**if (条件1) {条件1为真执行的语句块}
else if(条件2) {条件2为真执行的语句块}
else if(条件3) {条件3为真执行的语句块}
else if(条件4) {条件4为真执行的语句块}
else if(条件5) {条件5为真执行的语句块}

// 案例:输出数字,判断数字>0/<0/=0var num = prompt('请输入数字:');if (num === '') {console.log('你没有输入内容');} else if (num > 0) {console.log('是一个正数');} else if (num < 0) {console.log('是一个负数');} else if (num == 0) {console.log('是数字0');} else {console.log('输入有误');}

if分支语句的应用

**案例1:**使用 prompt 函数 接收一个年份 判断输入的年份 是否是闰年 将结果输出到控制台, 闰年条件:能够被4整除,同时不能够被100整除,或者能被400整除。

if (year !== '') { //最大的可能不为空if (!isNaN(year)) { //判断是数字,if (year >= 1000 && year <= 9999) { //同时是4位的数字if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) { //是否闰年alert('闰年');} else {alert('非闰年');}} else {alert('你输入的数字不在范围内');}} else { //输入的内容不满足条件alert('输入不是数字,请重新输入');}} else {alert('请输入')}

**案例1拓展:**合并条件

if (year !== '' && !isNaN(year) && (year >= 1000 && year <= 9999) && (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0)) {alert('闰年')} else {alert('你可能没有输入,可能不是数字,可能不在范围内,可能不是闰年');}

**案例2:**根据公式(身高-108)*2 = 体重,可以有10斤左右的浮动,来观察测试者体重是否标准(身高:cm)
// 思路:
// 结果:标准,偏胖,偏瘦(三个条件)
// 偏胖:大于 (身高-108) * 2 + 10
// 偏瘦:小于 (身高-108) * 2 - 10
// 标准:区间

 var height = prompt('请输入身高cm:');var weight = prompt('请输入体重斤');var maxWeight = (height - 108) * 2 + 10;var minWeight = (height - 108) * 2 - 10;if (weight > maxWeight) {alert('偏胖');} else if (weight <= maxWeight && weight >= minWeight) { //标准,区间alert('标准身材');} else if (weight < minWeight) {alert('偏瘦');} else {alert('输入有误');}

总结if的特点

1.if的三种结构(单分支,双分支,多分支)
2.if的条件可以是任意的表达式,但是结果一定是布尔值,系统自动调用Boolean方法对表达式进行求值。
3.if语句满足一个分支,立刻结束
4.尽量将最大的可能给if语句,如果满足if,else短路操作(代码不执行),同时else可以省略。
5.合并条件,提示错误或者其他信息的时候就不够准确。嵌套使用,提升用户体验,多条件使用,减少代码。

// 解析
//     输入数字4,执行四次条件
//     输入数字3,执行三次条件
//     输入数字1,执行一次条件
//     输入数字5,执行五次条件
//     一旦找到目标,立刻结束var num = +prompt('请输入一个数字:');if (num === 1) {console.log(1);} else if (num === 2) {console.log(2);} else if (num === 3) {console.log(3);} else if (num === 4) {console.log(4);} else {console.log('其他情况');}

相关内容

热门资讯

绿地控股涨1.73%,成交额8... 5月6日,绿地控股涨1.73%,成交额8314.34万元,换手率0.34%,总市值247.35亿元。...
山东路桥涨1.25%,成交额7... 5月6日,山东路桥涨1.25%,成交额7967.11万元,换手率0.97%,总市值88.35亿元。异...
集成电路ETF(159546)... 5月6日,国泰中证全指集成电路ETF(159546)收盘涨1.56%,成交额1259.29万元。集成...
蓝丰生化涨6.54%,成交额1... 5月6日,蓝丰生化涨6.54%,成交额1.15亿元,换手率9.66%,总市值17.11亿元。异动分析...
开创国际涨1.76%,成交额6... 5月6日,开创国际涨1.76%,成交额6590.24万元,换手率2.81%,总市值23.64亿元。异...
华金资本涨2.66%,成交额1... 5月6日,华金资本涨2.66%,成交额1.61亿元,换手率3.22%,总市值50.50亿元。异动分析...
通富微电涨2.26%,成交额8... 5月6日,通富微电涨2.26%,成交额8.33亿元,换手率2.11%,总市值397.61亿元。异动分...
老板电器涨0.92%,成交额1... 5月6日,老板电器涨0.92%,成交额1.97亿元,换手率1.07%,总市值186.63亿元。异动分...
ST易联众涨3.56%,成交额... 5月6日,ST易联众(维权)涨3.56%,成交额3545.80万元,换手率2.04%,总市值17.5...
精准服务送政策 税惠助企添动能 转自:廊坊日报 本报讯(记者 杨苗苗 通讯员 张娜)大厂回族自治县税务局扎实开展“税企面对面...
华东数控涨2.60%,成交额9... 5月6日,华东数控涨2.60%,成交额9631.52万元,换手率3.82%,总市值25.46亿元。异...
尚荣医疗涨1.56%,成交额3... 5月6日,尚荣医疗涨1.56%,成交额3477.65万元,换手率1.75%,总市值27.56亿元。异...
力合科创涨1.21%,成交额1... 5月6日,力合科创涨1.21%,成交额1.41亿元,换手率1.40%,总市值101.21亿元。异动分...
神州泰岳(300002.SZ)... 格隆汇5月6日丨神州泰岳(300002.SZ)在投资者互动平台表示,公司与DeepSeek不存在合作...
万泽股份涨0.13%,成交额9... 5月6日,万泽股份涨0.13%,成交额9116.34万元,换手率1.18%,总市值78.04亿元。异...
中远海发涨1.34%,成交额1... 5月6日,中远海发涨1.34%,成交额1.34亿元,换手率0.60%,总市值303.20亿元。异动分...
协鑫集成涨4.74%,成交额2... 5月6日,协鑫集成涨4.74%,成交额2.05亿元,换手率1.61%,总市值129.29亿元。异动分...
松芝股份涨2.72%,成交额2... 5月6日,松芝股份涨2.72%,成交额2.08亿元,换手率4.44%,总市值47.52亿元。异动分析...
海陆重工涨停,成交额6.96亿... 5月6日,海陆重工(维权)涨停,成交额6.96亿元,换手率12.15%,总市值76.52亿元。异动分...
*ST宝鹰涨4.22%,成交额... 5月6日,*ST宝鹰涨4.22%,成交额1.60亿元,换手率6.52%,总市值26.23亿元。异动分...