Date对象也是一个类,我们通过创建他的实例的方式,来获取本机时间(计算机时间);因为在js中,Date对象本身就是用来存储我们本机时间的;
获取的是本机的时间
var t=new Date();
console.log(t);
由于获取的是本机时间,所以它的使用要谨慎
console.dir(Date.prototype); 详细打印
__proto__ 是对象数据类型的 并且他属性值是对应一些公有的函数方法
var time = new Date(); //获取到当前的时间
console.log(time.getFullYear());//得到时间年
console.log(time.getMonth());//[0-11] 月份是根据索引从0开始 1月是0 12月是11
console.log(time.getDate());//得到时间日[1-31]
console.log(time.getDay());//获取星期几[0-6] 星期日 :对应0 星期一是1
console.log(time.getHours());//获取[0-23]
console.log(time.getMinutes());//获取分钟[0-59]
console.log(time.getSeconds());//获取秒
console.log(time.getMilliseconds());//获取毫秒
t.getMonth()+1 获取正确的月
定时器分为两种
1、单次的定时器 setTimeOut
2、循环的定时器 setInterval
创建定时器
window.setTimeout(function () { //回调函数
alert("时间到啦")
},3000);
window.setInterval(function () {
alert("时间又到了")
},1000);
因为setTimeout和setInterval是window下的属性,是全局的方法,所以我们在任何地方,可以通过window.setTimeout 和 window.setInterval
但是我们创建的定时器,不会自动销毁,创建完了以后会一直存在我们的浏览器中
所以说我们要手动去销毁他
销毁定时器
window.clearTimeout();
window.clearInterval();
定时器创建以后会返回一个标记,来代表我们定时器

无论创建什么样的定时器,我们的定时器都会发生累加
写了三个定时器 分别是t1 t2 t3 打印后显示123


由此说明,定时器和回调函数都是异步编程(就是一块跑);
无论他的设置时间为多少,都是他下边的代码先执行,下边代码执行完了之后他再执行;
10秒倒计时

用递归思想,用setTimeout实现循环定时器
(通过clearTimeout 标记虽然保留了 但是定时器被彻底的删掉了)