第九章 javascript数学对象(Math)的使用

一、对象的分类(了解)

  1. 宿主对象:由JavaScript运行平台提供的对象
    • window:寄生于浏览器,BOM,提供了浏览器相关的操作
    • document:寄生于文档,DOM,提供了网页相关操作
  2. 内建对象:由ECMAScript定义的对象,在任何ECMAScript的环境中都可以使用
    • 本地对象:StringNumberBooleanArrayObjectFunctionDatePromiseXMLHttpRequest
    • 内置对象:Math
  3. 自定义对象:自己定义的对象
    • var obj = {}

二、介绍

  1. js 给我们提供了一些操作数字的方法,他们被打包成了一个内置对象Math,Math也称为数学对象
  2. 我们无需关注某些数学运算的计算方式或逻辑,只需要知道在Math对象身上,哪个方法实现了这个数学运算即可
  3. Math对象的使用:Math.xxx()

三、Math的方法和属性

  1. **Math.random():**生成一个 0 ~ 1 之间的随机数,包含 0,不包含1,范围为:[0, 1)
var num = Math.random();
console.log(num);  // 一个随机数
  1. **Math.round():**将一个小数 四舍五入 取整
var num1 = 10.1;
console.log(Math.round(num1));  // 10

var num2 = 10.6;
console.log(Math.round(num2));  // 11
  1. **Math.abs() :**返回指定数字的 绝对值
var num = -10;
console.log(math.abs(num));  // 10
  1. **Math.ceil():**将指定小数 向上取整
var num = 10.1;
console.log(Math.ceil(num));  // 11

var num2 = 10.9;
console.log(Math.ceil(num2));  // 11
  1. **Math.floor():**将指定小数 向下取整
var num = 10.1;
console.log(Math.floor(num));  // 10

var num2 = 10.9;
console.log(Math.floor(num2));  // 10
  1. **Math.max():**参数为多个数字,返回值为 最大 的数字
console.log(Math.max(1, 2, 3, 4, 5));  // 5
  1. **Math.min():**参数为多个数字,返回值为 最小 的数字
console.log(Math.min(1, 2, 3, 4, 5));  // 1
  1. **Math.sqrt():**计算指定数字的平方根
var res = Math.sqrt(4)
console.log(res);		// 2
  1. **Math.pow(底数, 指数):**根据传入的指定底数和指数计算结果
var res = Math.pow(2, 4)
console.log(res);		// 16
  1. **Math.PI:**得到 π 的值,3.1415926…
console.log(Math.PI) // 3.141592653589793
  • 因为计算机的计算精度问题,只能得到小数点后 15 位
  • Math.PI 不是方法,是属性,所以在使用时,不需要加小括号
  1. Math.sin():计算正弦,注意,参数为弧度:交互转弧度公式:Math.PI / 180 * deg
  2. Math.cos():计算余弦,注意,参数为弧度:交互转弧度公式:Math.PI / 180 * deg

四、范围随机数

  • 利用四舍五入取整和随机数方法,可计算出指定范围随机数
function random(min, max){
    
    
	return Math.round( Math.random()*(max-min)+min );
}

五、进制转换

  1. 什么是进制:进制就是达到指定位置时候进一位
  2. 常见的进制
    • 二进制: 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 …
  3. 十进制转换成其它进制
    • 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
  1. 其它进制转换成十进制
    • 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 当作 二进制 的数字转换成 十进制 以后得到的

六、练习

  1. 封装 范围随机整数 函数
  2. 封装 随机一个4位数字的验证码 的函数
    • 如:0287
  3. 封装 随机一个4位数字字母混合的验证码 的函数
    • 如:6a4h
  4. 封装 随机rgb格式的颜色值 的函数
    • 如:rgb(23,53,126)
  5. 封装 随机十六进制的颜色值 的函数
    • 如:#61f135
  6. 随机点名

猜你喜欢

转载自blog.csdn.net/weixin_41636483/article/details/135272366