## 条件语句 > 在默认的语句中,程序总是一行一行的去解析执行特定的语句,但是有的场景下,顺序的执行语句无法满足程序的要求。 ### 1.if 结构 ```javascript // if结构语句的语法 if (expression) { statement } // 表达式最后的值必须是个boolean值 true或者false ``` 在条件表达式中,数字0和非0也可以表现为false和true。 在Javascript中,=、==、===的区别 * “=”:赋值运算符 * “==”:值相等 * “===”:严格相等运算符 在statement中如果出现多行语句必须要使用{}包裹,如果只有一行可以不用{}; > 在还是一个初级程序员的时候,为了代码的可读性,还是建议将只有一行代码的语句块用{}包裹。 ###2.if...else结构 ```javascript // if结构语句的语法 if (expression) { statement } else { statement } // 在else代码中执行的条件是紧跟着自己的if的非条件 // 使用if结构和if...else结构其实都是可以实现相同的功能的,只不过在表达方式上有所区别。 // 代码块说明 var age = 80; if (age <= 18) { console.log("1-我未满18岁"); } if (age > 18 && age <= 30) { console.log("1-我在18-30岁之间"); } if (age > 30 && age <= 50) { console.log("1-我在30-50岁之间"); } if (age <= 18) { console.log("2-我未满18岁"); } else { if (age <= 30) { console.log("2-我在18-30岁之间"); } else { if (age <= 50) { console.log("2-我在30-50岁之间"); } } } if (age <= 18) { console.log("3-我未满18岁"); } else if (age <= 30){ console.log("3-我在18-30岁之间"); } else if (age <= 50){ console.log("3-我在30-50岁之间"); } else { // ; } ``` ### 3.switch结构 > switch我们一般用在多个离散的值进行条件判断时使用,特别是有很多的值的时候。 ```javascript var monthNum = 2; switch (monthNum) { case 1: console.log("一月"); break; case 2: console.log("二月"); break; case 3: console.log("三月"); break; case 4: console.log("四月"); break; } var sex = "man"; switch (sex) { case "man": console.log("man"); break; case "woman": console.log("woman"); break; default: console.log("in default"); } ``` ### 4. 三元运算符 > 三元运算符我们一般用简单的逻辑判断和赋值语句中。 ```javascript var sexFlag = 2; var sexStr; if (sexFlag === 1) { sexStr = "man"; } else { sexStr = "woman"; } // 语法(condition) ? expre1 : expre2; // 实现的效果和上述的if...else结构一样 sexStr = (sexFlag === 1 ? "3-man" : "3-woman"); console.log(sexStr); ```