⼀ 介绍
- js 给我们提供了⼀些操作数字的⽅法,他们被打包成了⼀个内置对象Math,Math也称为数学对象
- 我们⽆需关注某些数学运算的计算⽅式或逻辑,只需要知道在Math对象身上,哪个⽅法实现了这个 数学运算即可
- Math对象的使⽤:Math.xxx()
二 Math的⽅法和属性
- Math.random():⽣成⼀个 0 ~ 1 之间的随机数,包含 0,不包含1,范围为:[0, 1)
var num = Math.random();
console.log(num); // ⼀个随机数
- Math.round():将⼀个⼩数 四舍五⼊ 取整
var num1 = 12.1;
console.log(Math.round(num1)); // 12
var num2 = 12.6;
console.log(Math.round(num2)); // 13
- Math.abs() :返回指定数字的 绝对值
var num = -5;
console.log(math.abs(num)); // 5
- Math.ceil():将指定⼩数 向上取整
var num = 8.1;
console.log(Math.ceil(num)); // 8
var num2 = 8.9;
console.log(Math.ceil(num2)); // 9
- Math.floor():将指定⼩数 向下取整
var num = 8.1;
console.log(Math.floor(num)); // 8
var num2 = 8.9;
console.log(Math.floor(num2)); // 8
- Math.max():参数为多个数字,返回值为 最⼤ 的数字
console.log(Math.max(1, 2, 3, 4, 5)); // 5
- Math.min():参数为多个数字,返回值为 最⼩ 的数字
console.log(Math.min(1, 2, 3, 4, 5)); // 1
- Math.sqrt():计算指定数字的平⽅根
var res = Math.sqrt(4)
console.log(res); // 2
- Math.pow(底数, 指数):根据传⼊的指定底数和指数计算结果
var res = Math.pow(2, 4)
console.log(res); // 16
- Math.PI:得到 π 的值,3.1415926.
console.log(Math.PI) // 3.141592653589793
因为计算机的计算精度问题,只能得到⼩数点后 15 位
Math.PI 不是⽅法,是属性,所以在使⽤时,不需要加⼩括号
- Math.sin():计算正弦,注意,参数为弧度:交互转弧度公式: Math.PI / 180 * deg
- Math.cos():计算余弦,注意,参数为弧度:交互转弧度公式: Math.PI / 180 * deg
三 范围随机数
Math.round( Math.random() * ( max - min ) + min )
四 进制转换
- 什么是进制:进制就是达到指定位置时候进⼀位
- 常⻅的进制
⼆进制: 0 1 10 11 100 101 110 111 1000
⼋进制: 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 21
⼗进制: 0 1 2 3 4 5 6 7 8 9 10 11 12 … 99 100 101
⼗六进制: 0 1 2 3 4 5 6 7 8 9 a b c d e f 10 … 19 … 1a 1b 1c 1d 1e 1f 20 21 … - ⼗进制转换成其它进制
num.toString() ⽅法可以在数字转成字符串的时候给出⼀个进制数- 语法: num.toString(你要转换的进制)
- 返回值:转换好进制以后的数字
- 转换好的数字是字符串类型
var num = 100
console.log(num.toString(2)) // 1100100
console.log(num.toString(8)) // 144
console.log(num.toString(16)) // 64
- 其它进制转换成⼗进制
parseInt() ⽅法可以在字符串转成数字的时候把字符串当成多少进制转成⼗进制
- 语法: parseInt(要转换的字符串,当作⼏进制来转换)
- 返回值:转换后的数字 你把数字当做⼏进制使⽤, 转换成⼗进制
- 结果是数字类型
var str = 100
console.log(parseInt(str, 8)) // 64 把 100 当作⼀个 ⼋进制 的数字转换成 ⼗进制 以
后得到的
console.log(parseInt(str, 16)) // 256 把 100 当作 ⼗六进制 的数字转换成 ⼗进制
以后得到的
console.log(parseInt(str, 2)) // 4 把 100 当作 ⼆进制 的数字转换成 ⼗进制 以后得
到的