08:数学对象 - Math
一、对象的分类
- 宿主对象:由JavaScript运行平台提供的对象
window
:寄生于浏览器,BOM,提供了浏览器相关的操作
document
:寄生于文档,DOM,提供了网页相关操作
- 内建对象:由ECMAScript定义的对象,在任何ECMAScript的环境中都可以使用
- 本地对象:
String
,Number
,Boolean
,Array
,Object
,Function
,Date
,Promise
,XMLHttpRequest
- 内置对象:
Math
- 自定义对象:自己定义的对象
二、介绍
- js 给我们提供了一些操作数字的方法,他们被打包成了一个内置对象Math,Math也称为数学对象
- 我们无需关注某些数学运算的计算方式或逻辑,只需要知道在Math对象身上,哪个方法实现了这个数学运算即可
- Math对象的使用:Math.xxx()
三、Math的方法和属性
- **Math.random():**生成一个 0 ~ 1 之间的随机数,包含 0,不包含1,范围为:[0, 1)
1 2
| var num = Math.random(); console.log(num);
|
- **Math.round():**将一个小数 四舍五入 取整
1 2 3 4 5
| var num1 = 10.1; console.log(Math.round(num1));
var num2 = 10.6; console.log(Math.round(num2));
|
- **Math.abs() :**返回指定数字的 绝对值
1 2
| var num = -10; console.log(math.abs(num));
|
- **Math.ceil():**将指定小数 向上取整
1 2 3 4 5
| var num = 10.1; console.log(Math.ceil(num));
var num2 = 10.9; console.log(Math.ceil(num2));
|
- **Math.floor():**将指定小数 向下取整
1 2 3 4 5
| var num = 10.1; console.log(Math.floor(num));
var num2 = 10.9; console.log(Math.floor(num2));
|
- **Math.max():**参数为多个数字,返回值为 最大 的数字
1
| console.log(Math.max(1, 2, 3, 4, 5));
|
- **Math.min():**参数为多个数字,返回值为 最小 的数字
1
| console.log(Math.min(1, 2, 3, 4, 5));
|
- **Math.sqrt():**计算指定数字的平方根
1 2
| var res = Math.sqrt(4) console.log(res);
|
- **Math.pow(底数, 指数):**根据传入的指定底数和指数计算结果
1 2
| var res = Math.pow(2, 4) console.log(res);
|
- **Math.PI:**得到 π 的值,3.1415926…
- 因为计算机的计算精度问题,只能得到小数点后 15 位
- Math.PI 不是方法,是属性,所以在使用时,不需要加小括号
- Math.sin():计算正弦,注意,参数为弧度:交互转弧度公式:
Math.PI / 180 * deg
- Math.cos():计算余弦,注意,参数为弧度:交互转弧度公式:
Math.PI / 180 * deg
四、范围随机数
五、进制转换
- 什么是进制:进制就是达到指定位置时候进一位
- 常见的进制
- 二进制: 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(你要转换的进制)
- 返回值:转换好进制以后的数字
- 转换好的数字是字符串类型
1 2 3 4
| var num = 100 console.log(num.toString(2)) console.log(num.toString(8)) console.log(num.toString(16))
|
- 其它进制转换成十进制
parseInt()
方法可以在字符串转成数字的时候把字符串当成多少进制转成十进制
- 语法:
parseInt(要转换的字符串,当作几进制来转换)
- 返回值:转换后的数字 你把数字当做几进制使用, 转换成十进制
- 结果是数字类型
1 2 3 4
| var str = 100 console.log(parseInt(str, 8)) console.log(parseInt(str, 16)) console.log(parseInt(str, 2))
|