📜  JavaScript 表达式完整参考(1)

📅  最后修改于: 2023-12-03 14:42:38.140000             🧑  作者: Mango

JavaScript 表达式完整参考

JavaScript 表达式是由操作数和操作符组成的语言元素,可以计算出一个值。了解 JavaScript 表达式非常重要,因为在编写和调试 JavaScript 代码时需要频繁使用表达式。

基本表达式

JavaScript 的基本表达式包含以下内容:

  • 字面量(literal):直接给定的常量值,如 1'hello world'truenullundefined
  • 变量(variable):代表一个可变的值,通过 varletconst 关键字声明。
  • 函数调用(function call):调用一个函数并返回其返回值。
// 字面量
1
'hello world'
true
null
undefined

// 变量
var age = 18;
let name = '小明';
const PI = 3.14;

// 函数调用
Math.max(1, 2, 3);
document.getElementById('myBtn').click();
算术表达式

JavaScript 中的算术表达式由加、减、乘、除和模(求余数)运算符组成。

// 加法
1 + 2; // 3

// 减法
5 - 3; // 2

// 乘法
2 * 3; // 6

// 除法
10 / 2; // 5

// 模运算
10 % 3; // 1
逻辑表达式

JavaScript 中的逻辑表达式包括以下内容:

  • 逻辑与(&&):如果两个操作数都为真,则返回真;否则返回假。
  • 逻辑或(||):如果两个操作数中有一个为真,则返回真;否则返回假。
  • 逻辑非(!):对操作数求反。
// 逻辑与
true && true; // true
true && false; // false

// 逻辑或
true || false; // true
false || false; // false

// 逻辑非
!true; // false
!false; // true
比较表达式

JavaScript 中的比较表达式用于比较两个值,包括以下内容:

  • 相等(==):如果操作数相等,则返回真。
  • 不相等(!=):如果操作数不相等,则返回真。
  • 全等(===):如果操作数相等且类型相同,则返回真。
  • 不全等(!==):如果操作数不相等或类型不同,则返回真。
  • 大于(>):如果左操作数大于右操作数,则返回真。
  • 小于(<):如果左操作数小于右操作数,则返回真。
  • 大于等于(>=):如果左操作数大于等于右操作数,则返回真。
  • 小于等于(<=):如果左操作数小于等于右操作数,则返回真。
// 相等
1 == '1'; // true

// 不相等
1 != 2; // true

// 全等
1 === '1'; // false

// 不全等
1 !== '1'; // true

// 大于
3 > 2; // true

// 小于
3 < 2; // false

// 大于等于
3 >= 3; // true

// 小于等于
3 <= 2; // false
条件表达式

JavaScript 中的条件表达式由三个部分组成,格式为 condition ? expr1 : expr2,如果 condition 为真,则返回 expr1 的值;否则返回 expr2 的值。

1 > 2 ? 'yes' : 'no'; // 'no'
2 > 1 ? 'yes' : 'no'; // 'yes'
赋值表达式

JavaScript 中的赋值表达式用于给变量或属性赋值,包括以下内容:

  • 简单赋值(=):将表达式右侧的值赋给左侧的变量或属性。
  • 累加赋值(+=):将表达式右侧的值加到左侧的变量或属性中。
  • 累减赋值(-=):将表达式右侧的值从左侧的变量或属性中减去。
  • 累乘赋值(*=):将表达式右侧的值乘到左侧的变量或属性中。
  • 累除赋值(/=):将左侧的变量或属性中的值除以表达式右侧的值。
// 简单赋值
var name = '小明';

// 累加赋值
var count = 0;
count += 1;

// 累减赋值
var total = 10;
total -= 2;

// 累乘赋值
var price = 10;
price *= 2;

// 累除赋值
var sum = 10;
sum /= 2;
位运算表达式

JavaScript 中的位运算表达式是对数字的二进制位进行操作,包括以下内容:

  • 按位与(&):参与运算的两个数的二进制位都为 1,结果才为 1。
  • 按位或(|):参与运算的两个数的二进制位有一个为 1,结果就为 1。
  • 按位异或(^):参与运算的两个数的二进制位有一个为 1,但不全为 1,结果就为 1。
  • 取反(~):按位取反,0 变为 1,1 变为 0。
  • 左移(<<):左移运算符将一个数的二进制位向左移动指定的位数。
  • 右移(>>):右移运算符将一个数的二进制位向右移动指定的位数,移出的位将被丢弃。
  • 无符号右移(>>>):用零填充右移后左侧空出的位。
// 按位与
3 & 5; // 1

// 按位或
3 | 5; // 7

// 按位异或
3 ^ 5; // 6

// 取反
~3; // -4

// 左移
3 << 2; // 12

// 右移
12 >> 2; // 3

// 无符号右移
-12 >>> 2; // 1073741821
运算符优先级

JavaScript 表达式中的运算符有不同的优先级,优先级越高的运算符先进行运算。以下是一些 JavaScript 运算符的优先级,从高到低排列:

  1. 圆括号
  2. 比较运算符、逻辑运算符、位运算符、三元运算符
  3. 算术运算符
  4. 赋值运算符
// 由于乘法优先级高于加法,因此下面两个表达式的结果不同
2 + 3 * 4; // 14
(2 + 3) * 4; // 20

以上就是 JavaScript 表达式完整参考。了解 JavaScript 表达式的语法和优先级是编写高效、可读性强的 JavaScript 代码的基础。