32-40JS中if语句
2019-05-03 本文已影响3人
饥人谷_island
1.if第一种形式
if(条件表达式){
条件满足执行的语句;
}
2.if第一个形式的特点
当条件表达式为真的时候就会执行{}中所有的代码, 并且只会执行一次
*/
// let age = 19;
let age = 17;
if(age >= 18){
console.log("开网卡");
}
console.log("卖饮料");
1.if第二种形式
if(条件表达式){
条件成立执行的语句;
}else{
条件不成立执行的语句;
}
2.if第二种形式的特点
当条件满足就执行if后面{}中的代码
当条件不满足就执行else后面{}中的代码
并且两个{}只有一个会被执行, 并且只会被执行一次
*/
// let age = 19;
let age = 17;
if(age >= 18){
console.log("开网卡");
}else{
console.log("回家叫家长");
}
console.log("卖饮料");
1.if第三种形式
if(条件表达式A){
条件A满足执行的语句;
}else if(条件表达式B){
条件B满足执行的语句;
}
... ...
else{
前面所有条件都不满足执行的语句;
}
2.if第三种形式的特点
会从上至下的依次判断每一个条件表达式, 哪一个条件表达式满足, 就执行哪一个条件表达式后面{}中的代码
如果前面所有的条件表达式都不满足, 就会执行else后面{}中的代码
并且众多的大括号只有一个会被执行, 并且只会执行一次
*/
let age = 4;
if(age >= 18){
console.log("上大学");
}else if(age >= 12){
console.log("上中学");
}else if(age >= 6){
console.log("上小学");
}else{
console.log("在家玩");
}
console.log("选择结构后面的代码");
// 1.对于非布尔类型的数据, 会先转换成布尔类型再判断
/*
// if(null){
if(1){
console.log("语句A");
}
console.log("语句B");
*/
// 2.对于==/===判断, 将常量写在前面
/*
let num = 10;
// if(num = 5){
if(5 == num){
console.log("语句A");
}
console.log("语句B");
*/
// 3.if/else if/else后面的大括号都可以省略, 但是省略之后只有紧随其后的语句受到控制
/*
if(false)
console.log("语句A");
console.log("语句B");
*/
// 4.在JavaScript中分号(;)也是一条语句(空语句)
/*
if(false);
{
console.log("语句A");
console.log("语句B");
}
*/
// 5.if选择结构可以嵌套使用
/*
if(true){
if(false){
console.log("语句A1");
}else{
console.log("语句B1");
}
}else{
if(false){
console.log("语句A2");
}else{
console.log("语句B2");
}
}
*/
// 6.当if选择结构省略大括号时, else if/else会自动和距离最近没有被使用的if匹配
if(0)
if(1)
console.log("A");
else
console.log("B");
else
if (1)
console.log("C");
else
console.log("D");
练习1
/*需求: 接收用户输入的整数, 判断是否是偶数, 偶数输出YES, 奇数输出NO*/
let num = prompt("请输入一个整数");
// num % 2 === 0 ? alert("YES") : alert("NO");
// num % 2 === 0 ? alert("YES") num = 666 : alert("NO") num = 123;
if(num % 2 === 0){
alert("YES");
num = 666;
}else{
alert("NO");
num = 123;
}
console.log(num);
/*
在企业开发中, 如果条件满足之后只有一句代码需要执行, 那么就使用三目运算符
在企业开发中, 如果条件满足之后有多句代码需要执行, 那么就使用选择结构
*/
练习2
/*需求: 接收用户输入的整数, 判断是星期几之后输出*/
// 注意点: prompt返回值是字符串类型
let str = prompt("请输入一个1~7整数");
// console.log(typeof day);
let day = +str;
if(1 === day){
alert("星期1");
}else if(2 === day){
alert("星期2");
}else if(3 === day){
alert("星期3");
}else if(4 === day){
alert("星期4");
}else if(5 === day){
alert("星期5");
}else if(6 === day){
alert("星期6");
}else if(7 === day){
alert("星期7");
}else{
alert("回到火星去");
}
练习3
/*需求: 接收用户输入的整数, 判断是什么季节之后输出
* 3/4/5春季 6/7/8夏季 9/10/11秋季 12/1/2冬季
* */
let str = prompt("请输入一个1~12的整数");
let month = +str;
/*
if(3 === month || 4 === month || 5 === month){
alert("春季");
}else if(6 === month || 7 === month || 8 === month){
alert("夏季");
}else if(9 === month || 10 === month || 11 === month){
alert("秋季");
}else if(12 === month || 1 === month || 2 === month){
alert("冬季");
}else{
alert("回到火星去");
}
*/
if(month <= 0 || month > 12){
alert("回到火星去");
}else if(3 === month || 4 === month || 5 === month){
alert("春季");
}else if(6 === month || 7 === month || 8 === month){
alert("夏季");
}else if(9 === month || 10 === month || 11 === month){
alert("秋季");
}else{
alert("冬季");
}
练习4
/*需求: 有3个变量a, b, c, 要求至少使用两种方法将升序排序后输出
* 排序前: a = 5, b = 3, c = 4
* 排序后: a = 3, b = 4, c = 5
* */
let a = 5, b = 3, c = 4, temp;
console.log(a, b, c);
// 1.利用a和b进行比较, 如果a>b, 就交换a和b中保存的数据
if(a > b){
temp = a;
a = b;
b = temp;
}
// 2.利用a和c进行比较, 如果a>c, 就交换a和c中保存的数据
if(a > c){
temp = a;
a = c;
c = temp;
}
// 3.利用b和c进行比较, 如果b>c, 就交换b和c中保存的数据
if(b > c){
temp = b;
b = c;
c = temp;
}
console.log(a, b, c);
练习5
/*需求: 有3个变量a, b, c, 要求至少使用两种方法将升序排序后输出
* 排序前: a = 5, b = 3, c = 4
* 排序后: a = 3, b = 4, c = 5
* */
let a = 5, b = 3, c = 4, temp;
console.log(a, b, c);
// 1.利用a和b比较, 如果a>b, 就交换a和b中保存的数据
if(a > b){
temp = a;
a = b;
b = temp;
}
// 1.利用b和c比较, 如果b>c, 就交换b和c中保存的数据
if(b > c){
temp = b;
b = c;
c = temp;
}
// 1.利用a和b比较, 如果a>b, 就交换a和b中保存的数据
if(a > b){
temp = a;
a = b;
b = temp;
}
console.log(a, b, c);