当前位置:首页 > JavaScript

js math实现

2026-03-13 17:39:23JavaScript

数学运算基础

JavaScript 提供基础的数学运算符:

  • 加法 +
  • 减法 -
  • 乘法 *
  • 除法 /
  • 取余 %
  • 指数

示例:

const sum = 3 + 5; // 8  
const power = 2  3; // 8 (2的3次方)  

Math 对象常用方法

JavaScript 内置 Math 对象提供高级数学函数:

取整函数

  • Math.floor():向下取整
  • Math.ceil():向上取整
  • Math.round():四舍五入
  • Math.trunc():直接截断小数部分

示例:

Math.floor(3.7); // 3  
Math.ceil(3.2);  // 4  

随机数生成

  • Math.random():生成 [0, 1) 之间的随机数。
    扩展为指定范围:
    function randomInRange(min, max) {  
    return Math.floor(Math.random() * (max - min + 1)) + min;  
    }  

三角函数与对数

  • Math.sin(), Math.cos(), Math.tan()
  • Math.log(), Math.log10()

数值处理与精度

浮点数精度问题
由于二进制浮点数表示,可能出现精度误差:

0.1 + 0.2 === 0.3; // false  

解决方案:

  • 使用 toFixed() 控制小数位数(返回字符串):
    (0.1 + 0.2).toFixed(2); // "0.30"  
  • 转换为整数运算后再还原:
    (0.1 * 10 + 0.2 * 10) / 10; // 0.3  

高级数学库

对于复杂计算(如矩阵运算、统计),可使用第三方库:

  • Math.js:支持符号计算、单位转换等。
    安装:
    npm install mathjs  

    示例:

    import { sqrt, evaluate } from 'mathjs';  
    sqrt(-4); // 2i (复数结果)  
    evaluate('1.2 * (2 + 4.5)'); // 7.8  

实际应用示例

计算两点间距离

function distance(x1, y1, x2, y2) {  
  return Math.sqrt((x2 - x1)  2 + (y2 - y1)  2);  
}  

生成随机颜色

js math实现

function randomHexColor() {  
  return `#${Math.floor(Math.random() * 0xffffff).toString(16).padStart(6, '0')}`;  
}  

标签: jsmath
分享给朋友:

相关文章

js实现计算器

js实现计算器

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

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

使用js实现

使用js实现

使用JavaScript实现 JavaScript可以通过Math.random()函数生成随机数,结合其他方法可以实现多种随机数生成需求。 // 生成0到1之间的随机小数 const random…

js实现搜索

js实现搜索

实现搜索功能的方法 在JavaScript中实现搜索功能可以通过多种方式完成,以下是几种常见的实现方法。 使用数组的filter方法 通过数组的filter方法可以筛选出符合条件的数据项。假设有一个…