当前位置:首页 > 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 的数学函数逐步计算。

js math实现

// 计算圆的面积
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实现轮播图

轮播图实现方法 基础HTML结构 <div class="slider"> <div class="slides"> <img src="image1.jpg…

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现抽奖

js实现抽奖

实现抽奖功能的基本思路 抽奖功能的核心是随机选择奖项并展示结果。可以通过数组存储奖项,利用随机数生成索引,最后通过动画增强用户体验。 准备奖项数据 定义一个数组存储奖项信息,每个奖项可以包含名称、图…