JavaScript 基础教程:运算符与数学运算详解
前言
在 JavaScript 编程中,运算符是我们日常开发不可或缺的工具。本文将全面介绍 JavaScript 中的基础运算符,包括数学运算、字符串连接、赋值操作等核心概念,帮助初学者建立扎实的基础。
基本术语解析
在深入运算符之前,我们需要明确几个关键术语:
-
操作数(Operand):运算符作用的对象。例如在表达式
5 * 2中,5和2就是操作数。 -
一元运算符(Unary Operator):只作用于一个操作数的运算符。例如取反运算符
-:let x = 1; x = -x; // 使用一元负号 alert(x); // 显示 -1 -
二元运算符(Binary Operator):作用于两个操作数的运算符。例如减法运算符
-:let x = 1, y = 3; alert(y - x); // 2,二元减法运算
数学运算符详解
JavaScript 支持以下基本数学运算符:
- 加法
+ - 减法
- - 乘法
* - 除法
/ - 取余
% - 指数运算
**
取余运算符 %
取余运算符返回除法后的余数:
alert(5 % 2); // 1,5除以2的余数
alert(8 % 3); // 2
alert(8 % 4); // 0
指数运算符 **
指数运算符计算基数的指数次幂:
alert(2 ** 3); // 8 (2的3次方)
alert(4 ** (1/2)); // 2 (相当于平方根)
字符串连接的特殊行为
+ 运算符在处理字符串时有特殊行为:
let s = "Hello" + "World";
alert(s); // HelloWorld
重要特性:只要任一操作数是字符串,另一操作数会被自动转换为字符串:
alert('1' + 2); // "12"
alert(2 + '1'); // "21"
类型转换与一元加号
一元加号 + 可将非数值类型转换为数字:
alert(+true); // 1
alert(+""); // 0
这在处理表单输入等场景特别有用:
let apples = "2";
let oranges = "3";
// 错误做法:字符串连接
alert(apples + oranges); // "23"
// 正确做法:转换为数字后相加
alert(+apples + +oranges); // 5
运算符优先级
JavaScript 运算符遵循特定优先级规则:
| 优先级 | 运算符类型 | 示例 |
|---|---|---|
| 15 | 一元加/减 | +x, -x |
| 14 | 指数运算 | ** |
| 13 | 乘/除 | *, / |
| 12 | 加/减 | +, - |
| 2 | 赋值 | = |
赋值运算符深入
链式赋值
let a, b, c;
a = b = c = 2 + 2; // 所有变量值为4
复合赋值运算符
简化常见操作:
let n = 2;
n += 5; // n = 7 (等同于 n = n + 5)
n *= 2; // n = 14
自增/自减运算符
前缀与后缀形式
-
前缀形式:先运算后返回值
let counter = 1; alert(++counter); // 2 -
后缀形式:先返回值后运算
let counter = 1; alert(counter++); // 1 (之后counter变为2)
最佳实践:为了代码清晰,建议将自增/自减操作单独成行。
其他运算符
位运算符
包括 & (AND)、| (OR)、^ (XOR)、~ (NOT) 等,主要用于底层二进制操作。
逗号运算符
逗号运算符允许在单个语句中执行多个表达式,返回最后一个表达式的结果:
let a = (1 + 2, 3 + 4);
alert(a); // 7
总结
掌握 JavaScript 运算符是编程的基础。关键要点包括:
- 理解不同类型运算符的行为差异
- 注意运算符优先级对表达式求值的影响
- 合理使用赋值简写形式提高代码简洁性
- 谨慎使用自增/自减运算符,保持代码可读性
通过系统学习和实践这些运算符,你将能够编写更高效、更可靠的 JavaScript 代码。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



