Math具有数学常数和函数的属性和方法, 不是构造函数,不需要new来调用,直接使用属性和方法
属性
-
1.圆周率
-
console.log(Math.PI);`// 输出结果:3.141592653
2.取整
-
1.向下取整 //往最小取整值 console.log(Math.floor(1.1)); //输出结果: 1 console.log(Math.floor(1.9)); // 输出结果:1 2.向上取整 //往最大取整值 console.log(Math.ceil(1.1)); // 输出结果:2 console.log(Math.ceil(1.9)); //输出结果: 2
3. 四舍五入
-
就近取整 console.log(Math.round(1.9)); // 输出结果:2 console.log(Math.round(-1.1));//输出结果: -1 console.log(Math.round(-1.5)); // 输出结果:这个结果是 -1 //其他数字都是四舍五入,但是 .5 特殊 它往大取
4.绝对值
-
console.log(Math.abs(1)); //输出结果:1 console.log(Math.abs(-1)); //输出结果: 1 //当括号内是字符串的数字时 会直接隐式转换为数字型; console.log(Math.abs('-1')); //输出结果: 1 //当括号内是字符串里是字符时会显示NaN console.log(Math.abs('xxx')); //输出结果: NaN
5.求最大值最小值
-
1.最大值 console.log(Math.max(1, 99,3,5,88,10,71));//输出结果:最大值9 //当括号内包含字符时会显示 NaN console.log(Math.max( '123')); //输出结果: NaN // 当括号内为空时会显示 -Infinity console.log(Math.max());` //输出结果: -Infinity 2.最小值 console.log(Math.min(1, 99, 3,5,88,10,71));//输出结果:最小值1 //当括号内包含字符时会显示 NaN console.log(Math.min( '123')); //输出结果: NaN // 当括号内为空时会显示 -Infinity console.log(Math.min());` //输出结果: -Infinity
6.随机值
-
1.获取范围在[0,1)内的随机值 console.log(Math.random()); //输出结果:[0,1)内的随机小数每次结果都不同 2.得到两个数之间的随机整数 并且 包含这2个整数 Math.floor(Math.random() * (max - min + 1)) + min; //使用: function getRandom(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } console.log(getRandom(1, 10)); // 随机点名 var arr = ['老大', '老二', '老三', '老四']; // console.log(arr[0]);//只能抽取第0个 console.log(arr[getRandom(0, arr.length - 1)]); //随机抽取
封装函数对象
var myMath = {
PI: 3.141592653,
max: function() {
var max = arguments[0];//由于不知道有多少参数所以使用arguments
for (var i = 1; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}//比较参数中的最大值
return max;//返回最大值
},//因为是封装函数所以用 ,隔开
//最小值同理
min: function() {
var min = arguments[0];
for (var i = 1; i < arguments.length; i++) {
if (arguments[i] < min) {
min = arguments[i];
}
}
return min;
}
console.log(myMath.PI);
console.log(myMath.max(1, 5, 9));
console.log(myMath.min(1, 5, 9));