js实现数值计算
JavaScript 数值计算基础
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; // 指数
Math 对象
内置 Math 对象提供高级数学函数:
Math.sqrt(16); // 平方根
Math.pow(2, 3); // 幂运算
Math.round(3.7); // 四舍五入
Math.ceil(3.2); // 向上取整
Math.floor(3.7); // 向下取整
Math.random(); // 0-1随机数
Math.max(1, 3, 2); // 最大值
Math.min(1, 3, 2); // 最小值
处理浮点数精度问题
JavaScript 使用 IEEE 754 双精度浮点数,可能导致精度问题。解决方法包括:
使用 toFixed() 方法
let result = (0.1 + 0.2).toFixed(2); // "0.30"
放大为整数计算

let result = (0.1 * 10 + 0.2 * 10) / 10; // 0.3
使用第三方库
如 decimal.js 或 big.js 处理高精度计算:
// 使用 decimal.js 示例
import { Decimal } from 'decimal.js';
let sum = new Decimal(0.1).plus(0.2).toNumber();
大整数处理
ES2020 引入 BigInt 类型处理超过 Number.MAX_SAFE_INTEGER 的整数:
const bigNum = 9007199254740991n + 2n; // 9007199254740993n
数值转换与验证
类型转换
parseInt("123"); // 123
parseFloat("123.45");// 123.45
Number("123"); // 123
数值验证

isNaN(NaN); // true
isFinite(123); // true
Number.isInteger(5); // true
高级数学计算
三角函数
Math.sin(Math.PI / 2); // 1
Math.cos(Math.PI); // -1
对数计算
Math.log(Math.E); // 1
Math.log10(100); // 2
位运算
5 & 3; // AND: 1
5 | 3; // OR: 7
5 ^ 3; // XOR: 6
~5; // NOT: -6
5 << 1; // 左移: 10
5 >> 1; // 右移: 2
性能优化技巧
避免在循环中重复计算不变值,将常量提取到循环外部。使用位运算替代部分数学计算可提高性能,但会降低可读性。
对于密集计算任务,考虑使用 Web Workers 将计算移出主线程,或使用 WebAssembly 处理高性能数值计算需求。






