JavaScript Math(算数) 对象的用法详解

Math(算数)对象的作用是:执行常见的算数任务。

JavaScript 的 Math 对象提供了一些用于数学运算的方法和常量。以下是一些常用的 Math 对象的方法和属性,接下来一个一个详解。

1:Math.PI:获取圆周率的常量。(下面的写法,只能保留小数点后15位)

typescript 复制代码
var num = Math.PI;
console.log("num的值为:" + num);//num的值为:3.141592653589793

1*:保留小数点后20位的写法,以此类推,选择自己所需写法

typescript 复制代码
// 将 Math.PI 转换为字符串,保留20位小数
var piString = Math.PI.toFixed(20);
// 将字符串转换回数字
var piNumber = parseFloat(piString);
console.log(piNumber); // 输出保留小数点后20位的 PI 值,部分编译器还是会省略只到15位,看字符串即可

2:Math.abs(x):返回 x 的绝对值。

typescript 复制代码
var num = Math.abs(-100)
console.log("num的值为:" + num);//num的值为:100

3:Math.ceil(x):返回大于等于 x 的最小整数,即向上取整。

typescript 复制代码
var num = Math.ceil(100.10)
console.log("num的值为:" + num);//num的值为:101

4:Math.floor(x):返回小于等于 x 的最大整数,即向下取整。

typescript 复制代码
var num = Math.floor(100.10)
console.log("num的值为:" + num);//num的值为:100

5:Math.round(x):四舍五入到最接近的整数。

typescript 复制代码
var num = Math.round(100.50)
console.log("num的值为:" + num);//num的值为:101

var num = Math.round(100.49)
console.log("num的值为:" + num);//num的值为:100

6:Math.max(arr):返回列表中的最大值。注意arr需为数值或数值组成的字符串,否则返回NaN

typescript 复制代码
var num = Math.max(100,49,99)
console.log("num的值为:" + num);//num的值为:100

var num = Math.max(100,49,"999")
console.log("num的值为:" + num);//num的值为:999

var num = Math.max(100,49,"999asdasd")
console.log("num的值为:" + num);//num的值为:NaN

7:Math.min(arr):返回列表中的最小值。注意arr需为数值或数值组成的字符串,否则返回NaN

typescript 复制代码
var num = Math.min(100,49,99)
console.log("num的值为:" + num);//num的值为:49

var num = Math.min(100,49,"999")
console.log("num的值为:" + num);//num的值为:49


var num = Math.min(100,49,"999asdasd")
console.log("num的值为:" + num);//num的值为:NaN

8:Math.random():返回一个介于 0(包括)和 1(不包括)之间的随机数。

typescript 复制代码
var num = Math.random()
console.log("num的值为:" + num);//num的值为0到1之间的整数

8*:返回一个介于 0(包括)和 10(不包括)之间的随机数

typescript 复制代码
var num = Math.floor(Math.random()*10)
console.log("num的值为:" + num);//num的值为0到10之间的整数
相关推荐
an317424 分钟前
解决 VSCode 中 ESLint 格式化不生效问题:新手也能看懂的配置指南
前端·javascript·vue.js
Lee川2 小时前
🚀《JavaScript 灵魂深处:从 V8 引擎的“双轨并行”看执行上下文的演进之路》
javascript·面试
比特鹰2 小时前
手把手带你用Flutter手搓人生K线
前端·javascript·flutter
大雨还洅下2 小时前
前端JS: 数组扁平化
javascript
奔跑路上的Me2 小时前
前端导出 Word/Excel/PDF 文件
前端·javascript
bluceli2 小时前
JavaScript异步编程深度解析:从回调到Async Await的演进之路
前端·javascript
SuperEugene2 小时前
路由与布局骨架篇:布局系统 | 头部、侧边栏、内容区、面包屑的拆分与复用
前端·javascript·vue.js
代码煮茶3 小时前
前端网络请求实战 | Axios 从入门到封装(拦截器 / 错误处理 / 重试)
javascript
进击的尘埃3 小时前
组合式函数 Composables 的设计模式:如何写出可复用的 Vue3 Hooks
javascript
进击的尘埃3 小时前
浏览器渲染管线深度拆解:从 Parse HTML 到 Composite Layers 的每一帧发生了什么
javascript