<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>对象</title>
</head>
<body>
<script>
console.log('创建对象的两个方法 属性方法和变量函数的区别------------------');
var ob = new Object();
ob.name = '鸣人';
ob.sex = '男';
ob.age = 19;
ob.skill1 = function () {
console.log('影分身术');
}
console.log(ob.name);
console.log(ob['age']);
ob.skill1();
console.log('利用构造函数创建对象 一次多个------------------');
// 构造函数抽象共同点 封装进函数
console.log('内置对象------------------');
// 对象:自定义对象、内置对象、浏览器对象
// 自定义对象、内置对象js基础内容 属于ECMAScripte
// 浏览器对象属于 js独有 API讲解
// MDN网址 https://developer.mozilla.org/zh-CN/docs/Learn
// 中括号的参数 代表可有可无 查看返回值
console.log('-内置函数math-----------------');
// math数学对象 不是一个构造函数 不用new调用 只需要直接使用里面的属性和方法就行
console.log(Math.PI);//输出圆周率
console.log(Math.max(1, 2, 6));//输出最大数
console.log(Math.max(2, 7));//输出
console.log(Math.max(2, 7, 'pink'));//输出NaN
console.log(Math.max());//输出 -infinity
// 最小值也是一样
console.log('利用对象封装数学对象');
var myMath = {
PI: 3.1415926,
max: function () {
var max = arguments[0];
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] > max) {
max = arguments[i];
}
}
return max;
},///注意别遗漏逗号 对象里的属性方法都用逗号隔开
min: function () {
var min = arguments[0];
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] < min) {
min = arguments[i];
}
}
return min;
}
}
console.log(myMath.PI);
console.log(myMath.max(1, 6, 8, 9));
console.log(myMath.min(1, 6, 8, 9));
console.log('math取绝对值 向下向上取整 四舍五入 点五往大了取------------------');
console.log(Math.abs(-1));//绝对值
console.log(Math.abs('1'));//隐式转换成数字
console.log(Math.abs('pink'));//NaN
//向下取整 往小取
console.log(Math.floor(1.1));
console.log(Math.floor(1.9));
//向上取整 往大取
console.log(Math.ceil(1.1));
console.log(Math.ceil(1.9));
// 四舍五入 点五往大了取
console.log(Math.round(1.1));//1
console.log(Math.round(1.5));//2
console.log(Math.round(1.9));//2
console.log(Math.round(-1.1));//-1
console.log(Math.round(-1.5));//-1
console.log('random随机数 返回一个 [0-1) 随机小数 这个方法里不跟参数------------------');
console.log(Math.random());
console.log('得到任意两个数之间的随机整数 并包含这两个数------------------');
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;//一个现成的公式 可以暂时记住
}
console.log(getRandom(1, 20));
console.log('随机点名-');
var arr = ['a', 'sd', 'sdffwq', 'sfewq', 'wrq', 'cse', 'SA', 'FWE'];
console.log(arr[getRandom(0, arr.length - 1)]);
console.log('猜数字游戏------------------');
// function getRandom(min, max) {
// return Math.floor(Math.random() * (max - min + 1)) + min;
// } 上面有
// var random = getRandom(1, 10);
// while (true) {
// var numb3 = Number(prompt('请输入1-10之间任意一个数字'));
// if (numb3 > random) {
// alert('猜大了');
// } else if (numb3 < random) {
// alert('猜小了');
// } else {
// alert('猜对了,游戏结束');
// break;
// }
// }
console.log(' 1-50 但是只有十次猜的机会------------------');
// var random1 = getRandom(1, 50);
// for (var i = 1; i <= 10; i++) {
// var numb31 = Number(prompt('请输入1-50之间任意一个数字'));
// if (numb31 > random1) {
// alert('猜大了1');
// } else if (numb31 < random1) {
// alert('猜小了1');
// } else {
// alert('猜对了1,游戏结束');
// break;
// }
// }
console.log('date日期对象 构造函数必须用new调用 必须实例化------------------');
// var arr = new Array();//创建一个数组对象
// var obj = new Object();//创建一个对象实例
var date = new Date();//无参数默认返回当前系统时间
console.log(date);//Wed Aug 09 2023 09:58:58 GMT+0800 (中国标准时间)
// 参数常用的写法 数字型 2019,10,01 字符串型 '2019-10-1 8:8:8' 注意空格
var date1 = new Date(2019, 10, 1);//有点问题
console.log(date1);//Fri Nov 01 2019 00:00:00 GMT+0800 (中国标准时间)
var date11 = new Date('2019-10-1 8:8:8'); //最常用的 正确
console.log(date11);//Tue Oct 01 2019 08:08:08 GMT+0800 (中国标准时间)
console.log('日期格式化------------------');
var date = new Date();
console.log(date.getFullYear());//2023
console.log(date.getMonth() + 1);//8 //月份是0-11 所以要输出正确月份要加一
console.log(date.getDate());//9
console.log(date.getDay());//3
var year = date.getFullYear();
var month = date.getMonth() + 1;
var dates = date.getDate();
var arr = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
var day = date.getDay();//外国周日算0 其余对应周一算1 周六算6
console.log('今天是:' + year + '年' + month + '月' + dates + '号 ' + arr[day]);
// 今天是:2023年8月9号 星期三
console.log('时分秒 格式化------------------');
var date = new Date();//获取系统当前时间
console.log(date.getHours()); //10
console.log(date.getMinutes());//34
console.log(date.getSeconds());//7
// 要求封装一个函数返回当前时分秒 格式08:08:08
function gettime() {
var time = new Date();
var h = date.getHours();
h = h < 10 ? '0' + h : h;
var m = date.getMinutes();
m = m < 10 ? '0' + m : m;
var s = date.getSeconds();
s = s < 10 ? '0' + s : s;
return h + ':' + m + ':' + s;
}
console.log(gettime());//10:34:07
// 为什么计算机起始时间从1970年1月1日开始?
// 获得date总的毫秒数 既现在距离1970年1月1日的总毫秒数
// 时间戳 永不重复
var date = new Date();
console.log(date.valueOf());//1691549440575
console.log(date.getTime());//1691549440575
// 简便写法(最常用)
var date1 = +new Date();
console.log(date1)//1691549440575
// h5新增写法
console.log(Date.now());//1691549440575
console.log('案例 倒计时 利用时间戳------------------');
// 将来时间戳 减现在时间戳 最后将差值换算成天时分秒
function countDown(time) {
var nowTime = +new Date();//返回的是当前时间的总毫秒数
var inputTime = +new Date(time);//返回的是用户输入时间总的毫秒数
var times = (inputTime - nowTime) / 1000;//times是剩余时间总秒数
var d = parseInt(times / 60 / 60 / 24);//天
d = d < 10 ? '0' + d : d;
var h = parseInt(times / 60 / 60 % 24);//时
var m = parseInt(times / 60 % 60);//分、
s = s < 10 ? '0' + s : s;
return d + '天' + h + '时' + m + '分' + s + '秒';
}
console.log(countDown('2023-9-12 05:05:05'));//32天20时30分44秒
var date = new Date();
console.log(date);//Thu Aug 10 2023 08:34:20 GMT+0800 (中国标准时间)
console.log('------------------');
console.log('------------------');
console.log('------------------');
console.log('------------------');
console.log('------------------');
console.log('------------------');
console.log('------------------');
console.log('------------------');
console.log('------------------');
console.log('------------------');
console.log('------------------');
console.log('------------------');
</script>
</body>
</html>
jsDAY3
最新推荐文章于 2024-10-11 17:39:47 发布
本文详细介绍了JavaScript中创建对象的不同方法(普通对象、构造函数),展示了内置对象如Math对象的使用,涉及日期对象、时间戳计算、随机数生成以及日期格式化的示例,包括倒计时功能的实现。
摘要由CSDN通过智能技术生成