首页 > web前端 > js教程 > 正文

javascript中如何进行数学计算_有哪些内置的数学方法和常量?

紅蓮之龍
发布: 2025-12-23 21:53:23
原创
450人浏览过
JavaScript 的 Math 对象提供静态数学常量与方法:含 π、e 等 8 个只读常量;abs、pow、sqrt 等基础运算;floor、ceil、round、trunc 四种取整;random 生成 [0,1) 随机数;sin/cos/tan 等三角及反三角函数;hypot 计算多参数平方和开方;所有方法要求数字参数,非数字转 NaN。

javascript中如何进行数学计算_有哪些内置的数学方法和常量?

JavaScript 中的数学计算主要通过内置的 Math 对象完成,它不提供构造函数,所有属性和方法都是静态的,直接用 Math.属性Math.方法() 调用。

常用数学常量

Math 提供了多个高精度数学常量,全部为只读属性:

  • Math.PI:圆周率 π(≈ 3.141592653589793)
  • Math.E:自然对数的底 e(≈ 2.718281828459045)
  • Math.LN2:ln(2)(≈ 0.6931471805599453)
  • Math.LN10:ln(10)(≈ 2.302585092994046)
  • Math.LOG2E:log₂(e)(≈ 1.4426950408889634)
  • Math.LOG10E:log₁₀(e)(≈ 0.4342944819032518)
  • Math.SQRT2:√2(≈ 1.4142135623730951)
  • Math.SQRT1_2:√½(≈ 0.7071067811865476)

基础数值运算方法

这些方法适用于日常四则、幂次、开方、取整等操作:

  • Math.abs(x):返回 x 的绝对值
  • Math.pow(x, y):返回 x 的 y 次方(也可用 x ** y 运算符)
  • Math.sqrt(x):返回 x 的平方根(x ≥ 0,否则返回 NaN
  • Math.cbrt(x):返回 x 的立方根(支持负数)
  • Math.exp(x):返回 ex
  • Math.log(x):返回 x 的自然对数(x > 0);Math.log10(x)Math.log2(x) 分别对应常用对数和以 2 为底的对数

取整与舍入方法

注意它们的行为差异,尤其在处理负数时:

Vheer
Vheer

AI图像处理平台

Vheer 260
查看详情 Vheer
  • Math.floor(x):向下取整(≤ x 的最大整数),如 Math.floor(-2.7) === -3
  • Math.ceil(x):向上取整(≥ x 的最小整数),如 Math.ceil(-2.7) === -2
  • Math.round(x):四舍五入到最近整数(.5 向正无穷方向舍入),如 Math.round(2.5) === 3Math.round(-2.5) === -2
  • Math.trunc(x):直接截去小数部分(向零取整),如 Math.trunc(-2.7) === -2

随机数与三角函数

Math.random() 返回 [0, 1) 区间内的伪随机浮点数,常配合其他方法生成指定范围的随机整数:

  • 生成 [min, max] 之间的随机整数:Math.floor(Math.random() * (max - min + 1)) + min
  • 三角函数均以弧度为单位:Math.sin(x)Math.cos(x)Math.tan(x)
  • 反三角函数:Math.asin(x)Math.acos(x)Math.atan(x)(返回弧度)
  • Math.hypot(...values):返回各参数平方和的平方根(如 Math.hypot(3, 4) === 5),可传入任意个数值

不复杂但容易忽略:所有 Math 方法都要求参数为数字类型;传入非数字(如字符串、null、undefined)会先尝试转换,失败则返回 NaN。建议计算前做类型校验或使用 Number() 显式转换。

以上就是javascript中如何进行数学计算_有哪些内置的数学方法和常量?的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号