/*
JavaScript学习的对象:
1.内置对象---JavaScript系统自带的对象:Math, Date, string, Array, Object
2.自定义对象---自己定义的构造函数所创建的对象
*/
/*
实例对象:通过构造对象创建出来的对象
静态对象,不需要创建对象,方法/属性可以直接通过方法名调用
*/
// Math对象:静态对象
/*
- Math.PI 圆周率
- Math.floor(值) 向下取整
- Math.ceil(值) 向上取整
- Math.abs(值) 取绝对值
- Math.round(值) 四舍五入 负数先忽略符号 五舍六入
- Math.max(很多数字) 取最大值
- Math.min(很多数字) 取最小值
- Math.pow(m, n) m的n次方的值
- Math.sqrt() 开平方
- Math.random() 生成0-1之间的随机数
*/
console.log(Math.PI); // 3.141592653589793
console.log(Math.floor(3.99)); // 3
console.log(Math.ceil(1.001)); // 2
console.log(Math.abs(-10)); // 10
console.log(Math.round(5.62)); // 6
console.log(Math.round(5.12)); // 5
console.log(Math.round(-5.5)); // -5
console.log(Math.max(100, 2, 35, 88, 100)); // 100
console.log(Math.min(100, 2, 35, 88, 100)); // 2
console.log(Math.pow(2, 8)); // 256
console.log(Math.sqrt(16)); // 4
console.log(Math.random());
// 取0-10之间的随机整数
console.log(parseInt(Math.random() * 10) + 1);
// 取1-10之间的随机整数
console.log(Math.ceil(Math.random() * 10));
// 取10-50之间的随机整数 *41 先取0-40之间的整数 再加10
console.log(Math.floor(Math.random() * 41) + 10);
Date对象
// 创建一个指定时间
var dt = new Date("2021-11-30: 20:42")
console.log(dt);// Tue Nov 30 2021 20:42:00 GMT+0800 (中国标准时间)
// 获取当前时间,创建一个实例对象
var dt2 = new Date()
console.log(dt2); // Sun Apr 17 2022 10:10:58 GMT+0800 (中国标准时间)
// 获取毫秒数 1秒 = 1000毫秒(时间戳)
// dt2实例对象调用getTime()方法获取时间戳
console.log(dt2.getTime()); // 1650161615490 从1970-01-01- 00:00:00到现在的毫秒数
// 直接调用Date的now()方法来获取时间戳
console.log(Date.now()); // 1650161615490 从1970-01-01- 00:00:00到现在的毫秒数
// 利用valueof()方法的特性<返回给定参数的Number对象值>获取时间戳
console.log(dt2.valueOf()); // 1650161615490 从1970-01-01- 00:00:00到现在的毫秒数
// 年份
console.log(dt2.getFullYear()); // 2022
// 月份
console.log(dt2.getMonth() + 1); // 4 从0-11需要加1才能获取当前月份
// 日期
console.log(dt2.getDate()); // 17
// 星期
console.log(dt2.getDay()); // 0 星期日
// 时分秒
console.log(dt2.getHours()); // 10 时
console.log(dt2.getMinutes()); // 34 分
console.log(dt2.getSeconds()); // 3 秒
console.log(dt2.toTimeString()); // 10:35:26 GMT+0800 (中国标准时间)
console.log(dt2.toLocaleTimeString()); // 10:36:38 12小时制的时分秒
console.log(dt2.toLocaleDateString()); // 2022/4/17 年月日
console.log(dt2.toDateString()); // Sun Apr 17 2022 英文日期
格式化时间对象
// 封装一个获取指定格式的时间seconds
function getDate(dt) {
var year = dt.getFullYear();
var month = dt.getMonth() + 1;
var date = dt.getDate();
var hour = dt.getHours();
var minutes = dt.getMinutes();
var seconds = dt.getSeconds();
function bu(i) {
return i = i < 10 ? "0" + i : i;
}
var str = year + "年" + bu(month) + "月" + bu(date) + "日" + bu(hour) +":" + bu(minutes) + ":" + bu(seconds);
return str;
}
console.log(getDate(new Date("2022-04-04 00:00:00")));
自定义对象模拟Math.max()方法
// 自定义一个对象,模拟实现系统的Math.max()方法
function MyMax() {
// 获取最大值的方法
this.getMax = function() {
var max = arguments[0];
for(var i = 0; i < arguments.length; i++) {
if(max < arguments[i]) {
max = arguments[i];
}
}
return max;
}
}
var math = new MyMax();
console.log(math.getMax(1,2,3,4,54));
练习:随机生成16进制的颜色值 #开头 每一位都是(0,1,2,3,4,5,6,7,8,9,a, b, c, d, e, f)并将生成的颜色渲染到页面
function getColor() {
var arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f']
str = '#'
for(var i= 0; i < 6; i++) {
// 产生随机数,当成索引值
var num = parseInt(Math.random() * 16)
str += arr[num]
}
return str
}
console.log(getColor());
document.getElementById("box").style.backgroundColor = getColor();