当前位置:首页 > 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 等,这些函数使用弧度作为单位。

js math实现

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 类型范围的整数。

js math实现

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

标签: jsmath
分享给朋友:

相关文章

js实现继承

js实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…

js实现原理

js实现原理

JavaScript 实现原理 JavaScript 是一种解释型语言,其实现原理涉及多个核心组件和运行机制,包括引擎、运行时环境、事件循环等。 引擎与解释执行 现代 JavaScript 引擎(如…

js 实现日历

js 实现日历

实现日历的基本思路 日历的核心功能是展示日期,并允许用户进行日期选择或导航。JavaScript 可以动态生成日历的 HTML 结构,并处理用户交互逻辑。 基础日历结构 日历通常包含头部(显示月份和…

js 实现验证码

js 实现验证码

实现验证码的 JavaScript 方法 生成随机验证码 验证码通常由随机字符(数字、字母或混合)组成。以下代码生成一个 6 位随机验证码(数字和字母混合): function generateCa…