JavaScript内置对象
内置对象
内置对象就是js语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是足以基本而必要的功能(属性和方法)
查文档
MDN
- 查阅该方法的功能
- 查看里面参数的意义和类型
- 查看返回值的意义和类型
- 通过demo进行测试
Math对象
Math数学对象,不是一个构造函数,所以不需要new来调用,而是直接使用里面的属性和方法即可
console.log(Math.max(1, 99, 3));//99
console.log(Math.PI);//一个属性,圆周率
console.log(Math.max(1, 99, 'oink'));//NaN
console.log(Math.max());//-infinity
封装自己的对象
var myMath = {
PI: 3.1415926,
max: function () {
var max = arguments[0];
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));
绝对值Math.abs
Math.abs('-1'); // 1 隐式转换,会把字符串型-1转换成数字型
Math.abs(-2); // 2
Math.abs(null); // 0
Math.abs("string"); // NaN
Math.abs(); // NaN
向下取整Math.floor()
Math.floor( 45.95);// 45
Math.floor( 45.05);// 45
Math.floor( 4 );// 4
Math.floor(-45.05);// -46
Math.floor(-45.95);// -46
向上取整Math.ceil()
console.log(Math.ceil(.95));
// expected output: 1
console.log(Math.ceil(4));
// expected output: 4
console.log(Math.ceil(7.004));
// expected output: 8
console.log(Math.ceil(-7.004));
// expected output: -7
四舍五入Math.round()
Math.floor( 45.95);// 46
Math.floor( 45.05);// 45
Math.floor( 4 );// 4
Math.floor(-1.1);// -1
Math.floor(-1.5);// 结果-1,0.5特殊往大了取
其他数字都是四舍五入,0.5特殊,往大了取
随机数Math.random()
返回一个浮点数, 伪随机数在范围从0到小于1,也就是说,从0(包括0)往上,但是不包括1(排除1),然后您可以缩放到所需的范围。实现将初始种子选择到随机数生成算法;它不能被用户选择或重置。
Math.random()
得到一个大于等于0,小于1之间的随机数
function getRandom() {
return Math.random();
}
得到一个两数之间的随机数
这个例子返回了一个在指定值之间的随机数。这个值不小于 min
(有可能等于),并且小于(不等于)max
。
function getRandomArbitrary(min, max) {
return Math.random() * (max - min) + min;
}
得到一个两数之间的随机整数
这个例子返回了一个在指定值之间的随机整数。这个值不小于 min
(如果 min
不是整数,则不小于 min
的向上取整数),且小于(不等于)max
。
function getRandomInt(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random