目录
1. Math.max() / Math.min() 取最大值和最小值
3) 四舍五入取整 Math.round() 其他数字都是四舍五入,唯独 .5 特殊,只往大了取整
1、返回一个随机的小数,[0, 1), 这个方法括号里不跟参数
1. Date()日期对象 是一个构造函数, 创建的时候必须要加 new
2. Date()构造函数里面的参数,可以跟数字型:2022,1,22,也可以放字符串型 2022-1-22 21:31:30
前言
JavaScript 对象分为三种:自定义对象、内置对象、浏览器对象;前两种属于ECMAScript,最后一种属于js独有的。
一、什么是内置对象
内置对象:js语言自带的一些对象,这些对象提供开发者使用,并提供了一些常用的和最基本而必要的功能(属性和方法)
二、Math 内置对象
它拥有一些数学常用属性和数学函数方法。 注意:Math 不是一个函数对象。
1. Math.max() / Math.min() 取最大值和最小值
console.log(Math.max(1, 2, 3, 4));
console.log(Math.min(24, 21, 5, 2));
console.log(Math.max()); // -infinity 无穷小
console.log(Math.max(1, 2, 3, 'liu')); // NaN
封装一个数学对象
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, 2, 3, 4, 5));
console.log(myMath.min(1, 2, 3, 4, 5));
2. Math.abs() 取绝对值方法
console.log(Math.abs(1)); //1
console.log(Math.abs(-1)); //1
console.log(Math.abs('-1')); // 1 隐式转换,会把字符串型 -1 转换为数字型
console.log(Math.abs('nihao')); // NaN
3. 三个取整方法
1) 向上取整 Math.ceil()
console.log(Math.ceil(1.1)); //2
console.log(Math.ceil(1.9)); // 2
2)向下取整 Math.floor()
console.log(Math.floor(1.1)); // 1
console.log(Math.floor(1.9)); //1
3) 四舍五入取整 Math.round() 其他数字都是四舍五入,唯独 .5 特殊,只往大了取整
console.log(Math.round(1.4)); //1
console.log(Math.round(1.9)); //2
console.log(Math.round(-1.1)); // -1
console.log(Math.round(-1.7)); // -2
console.log(Math.round(-1.5)); //-1
4. Math.random() 随机数
1、返回一个随机的小数,[0, 1), 这个方法括号里不跟参数
console.log(Math.random());
2、 得到一个两数之间的随机整数
// Math.floor(Math.random() * (max - min)) + min; //不含最大值,含最小值
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
console.log(getRandom(1, 10));
3、得到两个数之间的随机整数,并且包含这两个数
// Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
function getRandom1(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandom1(1, 20));
4、随机点名
var arr = ['pink', '张三', '李四', '王五'];
console.log(arr[getRandom1(0, arr.length - 1)]);
三、Date() 内置对象
是一个构造函数,必须使用new来调用创建我们的日期对象
1. Date()日期对象 是一个构造函数, 创建的时候必须要加 new
var now = new Date(); // Date() 里面 不传参数,默认返回的是当前时间
console.log(now);
2. Date()构造函数里面的参数,可以跟数字型:2022,1,22,也可以放字符串型 2022-1-22 21:31:30
数字型:
var date = new Date(2022, 1, 22);
console.log(date); // 返回的是2月,不是1月
字符串型:
var date1 = new Date('2022-1-22 21:31:30');
console.log(date1);
3. 日期的格式化
// 1)获取当年 getFullYear()
var date2 = new Date();
console.log(date2.getFullYear()); //2020 返回当前年
// 2) 获取当前月 getMonth()
console.log(date2.getMonth() + 1); //1,返回的月份小于1个月,记得+1;
// 3) 获取当前的几号 getDate();
console.log(date2.getDate()); // 22
// 4)获取当前星期几 getDay()
console.log(date2.getDay()); //6 周一-周六返回的是1-6,周日返回的是0
// 5)获取时
console.log(date2.getHours());
// 6)获取分
console.log(date2.getMinutes());
// 7)获取秒
console.log(date2.getSeconds());
demo: 写一个 2022年1月22日 星期六
var date3 = new Date();
var year = date3.getFullYear();
var month = date3.getMonth() + 1;
var dates = date3.getDate();
var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
var day = date3.getDay();
console.log('今天是:' + year + '年' + month + '月' + dates + '日 ' + arr[day]);
4. 封装一个函数返回 时分秒
function getTime() {
var time = new Date();
h = time.getHours();
h = h < 10 ? '0' + h : h;
m = time.getMinutes();
m = m < 10 ? '0' + m : m;
s = time.getSeconds();
s = s < 10 ? '0' + s : s;
return h + ':' + m + ":" + s;
}
console.log(getTime());