1.日期对象的创建
var date=new Date(); //日期对象实例化
var oldDate = new Date('2020-12-1 13:20:01')
var futureDate =new Date('2035³);
2.获取日期对象的年月日时分秒
var date=new Date();
console.log(date);
// 获取年份
console.log(date.getFullYear())
// 获取月
console.log(date.getMonth()+1) //获取月份 返回值0-11 对应1-12月
// 获取日
console.log(date.getDate())
// 获取星期
console.log(date.getDay())
// 返回值0-6对应周日-周六
// 获取时分秒毫秒 console.log(date.getHours())
console.log(date.getMinutes())
console.log(date.getSeconds())
console.log(date.getMilliseconds()) //1秒=1000毫秒
3.获取总的毫秒数
getTime()
var date =new Date();
console.log(date.valueOf());//就是我们现在时间 距离1970.1.1总的毫秒数
console.log(date.getπime());
//2.简单的写法(最常用的写法) var date1=+new Date();
//+new Date() 返回的就是总的毫秒数
console.log(date1);
console.log(Date.now());
4.日期对象转换为字符串的方法
var date=new Date();
console.log(date.toLocaleString())// 按照本地计算机的时间格式转为字符串
console.log(date.toString())
5.定时器
间歇性定时器
// 间歇性计时器每隔一定的时间调用函数,执行代码 var i=0;
var timer=setInterval(function(){
i++;
console.log(i)
},1θθ0)
// 获取页面中的button按钮添加点击事件
document.querySelector('button').
οnclick=function(){
// 清除间歇性计时器
clearInterval(timer)
}
一次性定时器
// 一次性计时器 一定时间后执行函数,只执行一次
var timer=setTimeout(function(){
console.log(我是一次性的’)
},2θθθ)
// 获取页面中的button按钮 添加点击事件
document.querySelector('button').
οnclick=function(){
clearTimeout(timer)
}
6.案例代码
封装函数按照指定格式返回指定日期对象2021-03-18 09:01:05
//补零函数
function getZero(num){
return num<1θ?'θ'+num:num
//这种方式也可以,自己思考
/minutes<10&&(minutes='0'+minutes)// 全真全真,一假为假/
}
function formatDate(date){
1/var date =new Date();
// 获取年月日时分秒
var year= date.getFullYear();
var month= date.getMonth()+1;
var day=date.getDate();
var hours= date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
return year+-+getZero(month)+'-'+ getZero(day)++getZero(hours)+ : +getZero(minutes)+:'+ getZero(seconds) }
console.log(formatDate(new Date()))
倒计时
// 倒计时 距离未来的某个日期还有多少天多少小时多少分多少秒 // 端午节 2021-6-11 17:30:00
注意:自己补零
function countDown(){
var date=new Date();
var futureDate =new Date('2021-6-11 17:30:θ0');
//时间差 var diff= futureDate date;
// 毫秒数 xx天xx小时xx分xx秒
var days=parseInt(diff1(246060*1θθ0));
//小时
var hours=parseInt(diff/(60601000)%24)
//分
var minutes=parseInt(diff/(60*1000)%60)
//秒
var seconds=parseInt(diff/(1000)%60)
return${days}天${hours}:${minutes}:${seconds};
}
setInterval(function(){
// document.body body标签
// document.body.innerHTML=countDown()
document.querySelector('div').
innerHTML=countDown()
},1θθ0)
二、简单数据类型和复杂数据类型
1.分类
1.简单数据类型
简单数据类型 是存放在栈里面 里面直接开辟一个空间存放的是值
number string boolean null undefined
2. 复杂数据类型
复杂数据类型 首先在栈里面存放地址十六进制表示
然后这个地址指向堆里面的数据
对象 数组(Array)/函数(Function)/一般对象(Object)
2.简单数据类型和复杂数据类型赋值
var a=3;
var b=a; //值b=5;
console.log(a,b) //3,5
// 复杂数据类型
var obj={name:'cccc',age:18};
var obj1=obj;
//址obj1.age = 88;
console.log(obj1.age,obj.age) // 88 88
3.简单数据类型和复杂数据类型传参
function fun(a){
a++;
console.log(a)
//11 }
var a=10;
fun(a)
console.log(a) //10
function fun(obj){ //传址obj.sex='woman'; console.log(obj.sex) //woman
}
var obj={name:'ccc',age:18,sex:'man'}
fun(obj);
console.log(obj.sex) // woman
4.综合案例
function Person(name){
this.name = name;
}
function f1(x){//x=p console.log(x.name); //2.这个输出什么? 刘德华x.name="张学友";
console.log(x.name);//3.这个输出什么?张学友 }
var p=new Person(”刘德华“);
console.log(p.name);
//1.这个输出什么? 刘德华
f1(p);
console.log(p.name);
//4.这个输出什么? 张学友
//求输出顺序和结果 // 简单数据类型传值,复杂数据类型传址
var num= 10;
var arr=[1,2,3,4,5];
var obj={name:'ccc",age:18};
function fun(num,arr,obj){
num=20;
arr.splice(3,2);
obj.name='小黄鸭‘;
console.log(num) console.log(arr);
console.log(obj) }
fun(num,arr,obj);
console.log(num) console.log(arr) console.log(obj)