乐趣区

关于javascript:笔记

布尔运算符

布尔运算符用于将表达式转为布尔值,一共蕴含四个运算符。

  • 取反运算符:!
  • 且运算符:&&
  • 或运算符:||
  • 三元运算符:?:

且运算符(&&)

如果第一个运算子的布尔值为 true,则返回第二个运算子的值(留神是值,不是布尔值);如果第一个运算子的布尔值为 false,则间接返回第一个运算子的值,且不再对第二个运算子求值。

't' && ''//""
't' && 'f' // "f"
't' && (1 + 2) // 3
''&&'f'//""
''&&'' // ""

var x = 1;
(1 - 1) && (x += 1) // 0
x // 1

或运算符(||)

如果第一个运算子的布尔值为 true,则返回第一个运算子的值,且不再对第二个运算子求值;如果第一个运算子的布尔值为 false,则返回第二个运算子的值。

't' || ''//"t"'t' || 'f' // "t"
''||'f'//"f"'' || ''//""

三元条件运算符(?:)

如果第一个表达式的布尔值为 true,则返回第二个表达式的值,否则返回第三个表达式的值。

't' ? 'hello' : 'world' // "hello"
0 ? 'hello' : 'world' // "world"

运算程序

JavaScript 各种运算符的优先级别(Operator Precedence)是不一样的。优先级高的运算符先执行,优先级低的运算符后执行。

4 + 5 * 6 // 34

下面的代码中,乘法运算符(*)的优先性高于加法运算符(+),所以先执行乘法,再执行加法,相当于上面这样。

4 + (5 * 6) // 34
退出移动版