当前位置:首页 > JavaScript

js math实现

2026-01-31 19:43:43JavaScript

数学计算实现

JavaScript 提供了多种内置方法和对象来处理数学运算,包括基本的算术运算、高级数学函数以及处理大数等场景。

基本算术运算

JavaScript 支持标准的算术运算符,如加法(+)、减法(-)、乘法(*)、除法(/)和取模(%)。这些运算符可以直接用于数字计算。

const sum = 5 + 3; // 8
const difference = 10 - 4; // 6
const product = 2 * 6; // 12
const quotient = 15 / 3; // 5
const remainder = 10 % 3; // 1

Math 对象

JavaScript 的 Math 对象提供了多种数学函数和常量,用于执行复杂的数学运算。

const pi = Math.PI; // 3.141592653589793
const sqrt = Math.sqrt(16); // 4
const power = Math.pow(2, 3); // 8
const absolute = Math.abs(-5); // 5
const rounded = Math.round(4.7); // 5
const ceiling = Math.ceil(4.2); // 5
const floor = Math.floor(4.9); // 4
const random = Math.random(); // 随机数 0 <= x < 1

三角函数

Math 对象还提供了三角函数,如 sincostan 等,这些函数使用弧度作为单位。

const sine = Math.sin(Math.PI / 2); // 1
const cosine = Math.cos(Math.PI); // -1
const tangent = Math.tan(Math.PI / 4); // 0.9999999999999999

对数与指数

Math 对象支持对数和指数运算,如自然对数(log)、以 10 为底的对数(log10)以及指数函数(exp)。

const naturalLog = Math.log(Math.E); // 1
const log10 = Math.log10(100); // 2
const exponential = Math.exp(1); // 2.718281828459045

大数处理

对于大数运算,JavaScript 提供了 BigInt 类型,可以处理超出 Number 类型范围的整数。

const bigInt = 9007199254740991n + 1n; // 9007199254740992n
const bigSum = BigInt("12345678901234567890") + BigInt("98765432109876543210"); // 111111111011111111100n

数值转换与比较

JavaScript 提供了多种方法将字符串转换为数字,并比较数值的大小。

const parsedInt = parseInt("10", 10); // 10
const parsedFloat = parseFloat("10.5"); // 10.5
const max = Math.max(1, 2, 3); // 3
const min = Math.min(1, 2, 3); // 1

精度处理

对于浮点数精度问题,可以使用 toFixed 方法或乘以 10 的幂次方后取整再除以 10 的幂次方。

const fixed = (0.1 + 0.2).toFixed(2); // "0.30"
const precise = Math.round((0.1 + 0.2) * 100) / 100; // 0.3

数学公式实现

对于复杂的数学公式,可以将其分解为多个步骤,使用 JavaScript 的数学函数逐步计算。

// 计算圆的面积
const radius = 5;
const area = Math.PI * Math.pow(radius, 2); // 78.53981633974483

// 计算二次方程的根
const a = 1, b = -3, c = 2;
const discriminant = Math.pow(b, 2) - 4 * a * c;
const root1 = (-b + Math.sqrt(discriminant)) / (2 * a); // 2
const root2 = (-b - Math.sqrt(discriminant)) / (2 * a); // 1

js math实现

标签: jsmath
分享给朋友:

相关文章

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previ…

js实现类

js实现类

JavaScript 实现类的几种方式 JavaScript 是一种基于原型的语言,但在 ES6 之后引入了 class 语法糖,使得实现类更加直观。以下是几种常见的实现方式: 使用构造函数 传统…

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounc…

js实现预览

js实现预览

文件上传预览实现 使用JavaScript实现文件上传预览功能,可以通过FileReader对象读取文件内容并显示预览。以下代码支持图片、文本和PDF文件的预览: // HTML部分需要包含inp…