var myMath = { PI: 3.141592653, 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); // 返回结果 3.141592653 console.log(myMath.max(10, 20, 30)); // 返回结果 30 console.log(myMath.min(10, 20, 30)); // 返回结果 10
var op = prompt("猜猜答案是数字几"); for (var i = 1; i <= max; i++) { if (op < getRandom(1, 10)) { alert('小了'); } elseif (op > getRandom(1, 10)) { alert('大了'); } else { alert(猜对啦,游戏结束); break; } } functiongetRandom(min, max) { returnMath.floor(Math.random() * (max - min + 1)) + min; }
2. Date 日期对象
Date() 日期对象 是一个构造函数,用于处理日期和时间
必须使用 new 来创建
1 2 3
// 使用 Date() 如果没有参数,返回系统当前的时间 var date = newDate(); console.log(date); // 返回系统当前时间
1. Date() 构造函数的参数
参数常用的写法
数字型:2021, 7, 29
字符串型:’2021-7-29 00:00:00’
如果括号里面有时间,就返回参数里面的时间
例如 日期格式字符串为 ‘2021-7-29’,可以写成 new Date(‘2021-7-29’),或者 new Date(‘2021/7/29’)
1 2 3 4
var date1 = newDate(2021, 7, 29); console.log(date1); // 返回的是 八月 而不是 七月 var date2 = newDate('2021-7-29 00:00:00'); console.log(date2);
2. 日期格式化
方法名
说明
代码
getFullYear()
获取当年
dObj.getFullYear()
getMonth()
获取当月(0 - 11)
dObj.getMonth()
getDate()
获取当天日期
dObj.getDate()
getDay()
获取星期几( 周日(0)到周六(6) )
dObj.getDay()
getHours()
获取当前小时
dObj.getHours()
getMinutes()
获取当前分钟
dObj.getMinutes()
getSeconds()
获取当前秒钟
dObj.getSeconds()
1. 格式化日期 - 年月日
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
var date = newDate(); // 创建一个日期对象 var year = date.getFullYear(); // 当前年份 var month = date.getMonth() + 1; // 当前月份,月份从 0 开始,返回的月份小一个月,所以要 + 1 var dates = date.getDate(); // 当前日期 几号 // 星期返回的是数字,所以创建一个数组通过索引号访问星期 var arr = [ '星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', ]; var day = date.getDay(); // 当前星期 返回的是数字 从 0 开始 var today = '今天是:' + year + '年' + month + '月' + dates + '日' + arr[day]; console.log(today);
2. 格式化日期 - 时分秒
1 2 3 4 5 6 7 8 9
// 封装一个函数返回当前的 时分秒 格式为 00:00:00 functiongetTime() { var time = newDate(); // 创建一个日期对象 var h = time.getHours(); // 时 var m = time.getMinutes(); // 分 var s = time.getSeconds(); // 秒 return h + ':' + m + ':' + s; } console.log(getTime());
functiongetTime() { var time = newDate(); // 创建一个日期对象 var h = time.getHours(); // 时 h = h < 10 ? '0' + h : h; // 三元运算符,当时间小于 10 时在时间前添加 0 var m = time.getMinutes(); // 分 m = m < 10 ? '0' + m : m; var s = time.getSeconds(); // 秒 s = s < 10 ? '0' + s : s; return h + ':' + m + ':' + s; } console.log(getTime());
3. Date 总的毫秒数(时间戳)
Date 对象是基于 1970 年 1 月 1 日(世界标准时间)起的毫秒数
我们经常利用总的毫秒数来计算时间,因为它更精确
获得 Date 总的毫秒数(时间戳),不是当前时间的毫秒数,而是距离 1970 年 1 月 1 日过了多少毫秒数
1 2 3 4 5 6 7 8 9
// 1.通过valueOf() getTime() var date = newDate(); console.log(date.valueOf()); // 返回的是当前时间距离 1970.1.1 总的毫秒数 console.log(date.getTime()); // 2.简单写法 var date1 = +newDate(); // +new Date() 返回的是总的毫秒数 console.log(date1); // 3.H5 新增 console.log(Date.now());
// 封装一个倒计时函数 countDown 倒计时 functioncountDown(time) { var nowTime = +newDate(); // 当前时间 var inputTime = +newDate(time); // 输入的时间(将来的时间) // 将来时间总毫秒数减去当前时间总毫秒数,1 秒 = 1000 毫秒 var times = (inputTime - nowTime) / 1000; var d = parseInt(times / 60 / 60 / 24); // 计算天数 d = d < 10 ? '0' + d : d; var h = parseInt((times / 60 / 60) % 24); // 计算小时 h = h < 10 ? '0' + h : h; var m = parseInt((times / 60) % 60); // 计算分钟 m = m < 10 ? '0' + m : m; var s = parseInt(times % 60); // 计算秒数 s = s < 10 ? '0' + s : s; return'截止' + time + '还剩' + d + '天' + h + '时' + m + '分' + s + '秒'; } console.log(countDown('2021-08-13 10:00:00'));
3. 数组对象
1. 数组对象的创建
1. 利用数组字面量
1 2
var arr = [1, 2, 3]; console.log(arr[0]);
2. 利用 new Array()
1 2 3 4 5 6
var arr = newArray(); // 创建一个空的数组 console.log(arr); var arr1 = newArray(2); // 这里 2 表示数组的长度为 2,里面有两个空的数组元素 console.log(arr1); var arr2 = newArray(2, 3); // 相当于数组 [2, 3] console.log(arr2);