Math对象不是构造函数,它具有数学常数和函数的属性和方法,都是以静态成员的方式提供
跟数学相关的运算来找Math中的成员(求绝对值,取整)
Math
实例对象:通过构造函数创建出来,实例化的对象
静态对象:不需要创建,直接就是一个对象,方法(静态方法)直接通过这个对象名字调用,
实例方法必须通过实例对象调用
静态方法必须通过大写的对象调用
演示:Math.PI、Math.random()、Math.floor()/Math.ceil()、Math.round()、Math.abs() 、Math.max()
Math.PI // 圆周率
Math.random() // 生成随机数
Math.floor()/Math.ceil() // 向下取整/向上取整
Math.round() // 取整,四舍五入
Math.abs() // 绝对值
Math.max()/Math.min() // 求最大和最小值
Math.sin()/Math.cos() // 正弦/余弦
Math.pow()/Math.sqrt() // 求指数次幂/求平方根
案例
- 求10-20之间的随机数
随机生成颜色RGB
function getColor() {
var str = "#";
//一个十六进制的值的数组
var arr = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"];
for (var i = 0; i < 6; i++) {
//产生的每个随机数都是一个索引,根据索引找到数组中对应的值,拼接到一起
var num = parseInt(Math.random() * 16);
str += arr[num];
}
return str;
}
//页面记载的事件
window.onload = function () {
//在文档中通过id属性的值查找这个元素(标签).设置该标签的背景颜色
document.getElementById("dv").style.backgroundColor = getColor();
};
猜数字游戏
从键盘输入数字,对一个指定的随机数(随机数值在1-100之间)进行猜,如果猜错了,提示大了或小了,如果猜对了,游戏结束。
要求写一个猜数字的工具函数GusessTool,函数提供一个静态方法guess{},在该方法中实现具体功能<script>
//只有对象才有具体信息
function Person(name,age){
this.name = name;
this.age = age;
}
var p = new Person("zhangsan",18);
console.log(p.name); //才是打印对象的信息
//打印构造器的名字
console.log(Person.name);
</script>
取整
Math.ceil() 上取整
Math.floor() 下取整
Math.round() 四舍五入取整var a = 12.34;
console.log(Math.ceil(a))
console.log(Math.floor(a))
console.log(Math.round(a))
取最值
Math.max()
Math.min()
var arr = [1,2,3,4,5,6]
console.log(Math.max(...arr))
console.log(Math.min(...arr))
随机数
Math.random()
使用后会随机出现0到1之间的值,不包含1,也就是 0<=num<1
console.log(Math.random())