js实现运算
JavaScript 实现基本运算
JavaScript 提供了多种运算符和内置函数来实现数学运算。以下是常见的运算实现方式:
算术运算
let sum = 5 + 3; // 加法
let difference = 5 - 3; // 减法
let product = 5 * 3; // 乘法
let quotient = 5 / 3; // 除法
let remainder = 5 % 3; // 取模
let exponent = 5 3; // 指数
递增递减运算
let x = 5;
x++; // 后置递增
++x; // 前置递增
x--; // 后置递减
--x; // 前置递减
高级数学运算
Math 对象方法
Math.sqrt(16); // 平方根
Math.pow(2, 3); // 幂运算
Math.abs(-5); // 绝对值
Math.round(4.6); // 四舍五入
Math.ceil(4.2); // 向上取整
Math.floor(4.9); // 向下取整
Math.max(1, 3, 2); // 最大值
Math.min(1, 3, 2); // 最小值
Math.random(); // 随机数 [0,1)
三角函数
Math.sin(Math.PI/2); // 正弦
Math.cos(Math.PI); // 余弦
Math.tan(Math.PI/4); // 正切
位运算
let a = 5; // 0101
let b = 3; // 0011
a & b; // AND 0001 (1)
a | b; // OR 0111 (7)
a ^ b; // XOR 0110 (6)
~a; // NOT 1010 (-6)
a << 1; // 左移 1010 (10)
a >> 1; // 右移 0010 (2)
a >>> 1; // 无符号右移 0010 (2)
大数运算
对于超出安全整数范围(±(2^53-1))的运算,可以使用 BigInt:
const bigNum = 9007199254740991n;
const biggerNum = bigNum + 1n;
精度处理
浮点数运算可能存在精度问题,需要特殊处理:
// 加法
function add(num1, num2) {
const precision = Math.max(
num1.toString().split('.')[1]?.length || 0,
num2.toString().split('.')[1]?.length || 0
);
const factor = 10 precision;
return (num1 * factor + num2 * factor) / factor;
}
// 比较
function equal(num1, num2) {
return Math.abs(num1 - num2) < Number.EPSILON;
}
表达式求值
使用 eval 函数可以执行字符串表达式(需注意安全问题):

let result = eval('(5 + 3) * 2'); // 16
对于更复杂的数学表达式,可以考虑使用 math.js 等专业库。






