运算符

# 比较运算符(返回**布尔值**) |运算符| 描述| |-|-| |==| 等于| |===| 值相等并且类型相等*| |!=| 不相等| |!==| 值不相等或类型不相等*| |>| 大于| |<| 小于| |>=| 大于或等于| |<=| 小于或等于| # 逻辑运算符 |运算符| 描述| |-|-| |&&| 与| |`||`| 或| |!| 非| ## &&(与运算)节选 - 逻辑与 运算 |第一个操作数| 第二个操作数| 运算结果| |-|-|-| |true| true| true| |true| false| false| |false| true| false| |false| false| false| > &emsp;&emsp;逻辑与是一种短路逻辑,如果左侧表达式为 false,则直接短路返回结果,不再运算右侧表达式。 运算逻辑如下: - 第 1 步:计算第一个操作数(左侧表达式)的值。 - 第 2 步:检测第一个操作数的值。如果左侧表达式的值可转换为 false(如 **null**、**undefined**、**NaN**、**0**、""、**false**),那么就会结束运算,直接返回第一个操作数的值。 - 第 3 步:如果第一个操作数可以转换为 true,则计算第二个操作数(右侧表达式)的值。 - 第 4 步:返回第二个操作数的值。 ## && 与 if语句 ``` var n = 1; (n == 1) && console.log(" n 的值为 1"); ``` 等价于⬇ ``` if(n == 1) { console.log(" n 的值为 1"); } ``` ### && 与 swith语句 ``` var n = 1; (n == 1) && console.log(" n 的值为 1"); (n == 2) && console.log(" n 的值为 2"); (n == 3) && console.log(" n 的值为 3"); ( ! n ) && console.log("null"); ``` 等价于⬇ ``` var n = 1; switch(n){ case1: console.log(" n 的值为 1"); break; case2: console.log(" n 的值为 2"); break; case3: console.log(" n 的值为 3"); break; default: console.log("null"); ``` . ### ||(或运算)节选 - 逻辑或 运算 |第一个操作数| 第二个操作数| 运算结果| |-|-|-| |true |true| true| |true |false| true| |false |true| true| |false| false| false| > &emsp;&emsp;逻辑或也是一种短路逻辑,如果左侧表达式为 true,则直接短路返回结果,不再运算右侧表达式。 运算逻辑如下: - 第 1 步:计算第一个操作数(左侧表达式)的值。 - 第 2 步:检测第一个操作数的值。如果左侧表达式的值可转换为 true,那么就会结束运算,直接返回第一个操作数的值。 - 第 3 步:如果第一个操作数可以转换为 false,则计算第二个操作数(右侧表达式)的值。 - 第 4 步:返回第二个操作数的值。 ### &&、|| 与 swith语句 ``` var n = 2; (n == 1) && console.log(" n 的值为 1") || (n == 2) && console.log(" n 的值为 2") || (n == 3) && console.log(" n 的值为 3") || ( ! n ) && console.log("null"); ``` 等价于⬇ ``` var n = 2; switch(n){ case1: console.log(" n 的值为 1"); break; case2: console.log(" n 的值为 2"); break; case3: console.log(" n 的值为 3"); break; default: console.log("null"); ``` . ## !(非运算)节选 > &emsp;&emsp;逻辑非运算!是布尔取反操作(NOT)。作为一元运算符,直接放在操作数之前,把操作数的值转换为布尔值,然后取反并返回。 # 条件(三元)运算符 JavaScript 也包含了可基于某些条件向变量赋值的条件运算符。 > 语法 variablename = (condition) ? value1:value2 ## 三元运算符 与 if...else 及 if语句 ### 三元运算符 与 if...else语句 ``` var n = 1; (n == 1) ? console.log(" n 的值为 1"):console.log(" n 的值不为 1") ``` 等价于⬇ ``` var n = 1; if(n == 1) { console.log(" n 的值为 1"); } else { console.log(" n 的值不为 1"); } ``` ### 三元运算符 与 if语句 ``` var n = 1; (n == 1) ? console.log(" n 的值为 1"):null; ``` 等价于⬇ ``` var n = 1; if(n == 1) { console.log(" n 的值为 1"); } ``` # 关于if条件语句 与 Switch 语句 [if条件语句](https://easydoc.xyz/#/doc/19870845/TDl1WX7K/bZwWEXxz) . . . [Switch 语句](https://easydoc.xyz/#/doc/19870845/TDl1WX7K/6fb2a3wM)