JavaScript 逗号运算符

摘要:在本教程中,您将学习 JavaScript 逗号运算符及其用法。

JavaScript 逗号运算符简介

JavaScript 使用逗号 (,) 来表示逗号运算符。逗号运算符接受两个表达式,从左到右对其进行求值,并返回右侧表达式的值。

以下是逗号运算符的语法

leftExpression, rightExpression

例如

let result = (10, 10 + 20);
console.log(result);Code language: JavaScript (javascript)

输出

30

在本例中,10, 10+20 返回右侧表达式的值,即 10+20。因此,结果值为 30。

请看以下示例

let x = 10;
let y = (x++, x + 1);

console.log(x, y);Code language: JavaScript (javascript)

输出

11 12

在本例中,我们将 x 的值加 1 (x++),将 1 加到 x (x+1) 并将 x 赋值给 y。因此,语句执行后,x11y12

但是,为了使代码更清晰,您可以使用两个语句,而不是像这样使用带逗号运算符的一个语句

let x = 10;
x++;
let y = x + 1;

console.log(x, y);Code language: JavaScript (javascript)

此代码更清晰。

在实践中,您可能希望在 for 循环中使用逗号运算符,以便每次循环更新多个变量。

以下示例在 for 循环中使用逗号运算符,将九个元素的数组显示为 3 行 3 列的矩阵

let board = [1, 2, 3, 4, 5, 6, 7, 8, 9];

let s = '';
for (let i = 0, j = 1; i < board.length; i++, j++) {
  s += board[i] + ' ';
  if (j % 3 == 0) {
    console.log(s);
    s = '';
  }
}Code language: JavaScript (javascript)

输出

1 2 3
4 5 6
7 8 9

工作原理。

  • 初始化棋盘
    • 代码首先定义一个名为 board 的数组,其中包含从 1 到 9 的值。此数组表示一个简单的棋盘或网格。
  • 遍历棋盘
    • 然后,代码初始化一个空字符串 s 并进入 for 循环。
    • 在循环中,声明了两个变量:iji 用于遍历 board 数组的元素,j 是一个在每次迭代时递增的计数器。
  • 构建字符串
    • 在循环中,board 数组的每个元素都附加到字符串 s 后面,后面跟着一个空格。
  • 检查每三个元素
    • 将元素附加到字符串后,代码使用模运算符 (%) 检查 j(计数器)是否可以被 3 整除。此条件 (j % 3 == 0) 检查当前迭代是否是第三个元素。
  • 打印并重置
    • 如果条件为真(表示它是第三个元素),则使用 console.log(s) 将当前字符串 s 打印到控制台。这有效地打印了来自 board 的三元素行。
    • 然后,字符串 s 被重置为空字符串以供下一行使用。
  • 循环继续
    • 循环继续,直到处理完 board 数组的所有元素。
  • 输出
    • 最终输出是一系列行,每行包含来自 board 数组的三个元素。

摘要

  • 逗号运算符接受两个表达式,从左到右对其进行求值,并返回右侧表达式的值。
  • for 循环中使用逗号运算符 (,) 来一次更新多个变量。
  • 在其他地方使用两个语句,而不是逗号运算符,使代码更清晰易懂。
本教程是否有用?