语法结构有三种(单分支,双分支,多分支)
重点内容1:必须熟悉布尔值真假情况(0,‘’,null,undefined,NaN,false)
重点内容2:if的条件可以是任意的表达式,但是结果一定是布尔值,系统自动调用Boolean方法进行处理。
**语法: **if(条件){满足条件(条件为真时)执行的语句块}
if (1) {console.log('语句会执行');}if ('饿了困了') {console.log('喝东鹏特饮');}if (false) {console.log('我也想出来转转');}/* isNaN函数会首先尝试将这个参数转换为数值,然后才会对转换后的结果是否是NaN进行判断。 */var num = prompt('请输入数字:');if (!isNaN(num)) { //是数字console.log('你输入的是数字:' + num);}
**语法:**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('你输入的不是一个数字');}
**语法:**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('输入有误');}
**案例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('输入有误');}
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('其他情况');}
下一篇:MySQL数据库学习(8)