JavaScript(7)-日期Date,对象Object,定时器


提示:以下是本篇文章正文内容,下面案例可供参考

一、日期Date,

1, Date对象

  Date类型使用自UTC(Coordinated Universal Time,国际协调时间) 1970年1月1日午夜(零时)开始经过的毫秒数来保存日期。Date类型保存的日期能够精确到1970年1月1日之前或之后的 285616年.

2, Date对象的创建

  • 创建一个日期对象,使用new运算符和 Date构造函数即可.
  var d = new Date();  //在调用Date构造方法而不传递参数的情况下,新建的对象自动获取当前的时间和日期
  • 创建日期对象并指定时间
var d = new Date("2015/08/22");
  var d = new Date(2016, 8, 13, 14, 34);
 注: 日期的格式可以是“2015/08/22”,“2015-08-22”,或1970年当前日期的毫秒数1443453475234

3, Date对象的方法

date.toDateString(); 以特定的格式显示星期几、月、日和年
date.toTimeString(); 以特定的格式显示时、分、秒和时区
date.toLocaleDateString(); 以特定地区格式显示年、月、日
date.toLocaleTimeString(); 以特定地区格式显示时、分、秒
date.toUTCString(); 以特定的格式显示完整的 UTC 日期: 年,月,日,时,分,秒。

Date.parse(“2015-08-24”); 转换格式默认支持2015-08-24或2015/08/24, 返回距离1970年1月1日0时的毫秒数
date.toString(); 把Date对象转换为字符串
date.valueOf(); 返回Date对象的原始值

4, 日期Date的常用方法:

setDate() / getDate(); 从Date对象中返回一个月中的某一天(1~31)
getDay(); 从Date对象返回一周中的某一天(0~6)
set / getMonth(); 从Date对象中返回月份(0~11)
set / getFullYear(); 从Date对象以四位数返回年份
set / getHours(); 返回Date对象的小时(0~23)
set / getMinutes(); 返回Date对象的分钟(0~59)
set / getSeconds(); 返回Date对象的秒数(0~59)
set / getMilliseconds(); 返回Date对象的毫秒
set / getTime(); 返回1970年1月1日至今的毫秒数
getTimezoneOffset(); 返回本地时间与格林尼治标准时间(GMT)的分钟差
var currentDate = new Date() //获取当前时间

  • 1, 显示当前时间 (显示格式: 2016年 11月 11日 11时 11分 11秒)
 console.log(currentDate.getFullYear()+"年");
    console.log(currentDate.getMonth()+1+"月");
    console.log(currentDate.getDate()+"日");
    console.log(currentDate.getHours()+"时");
    console.log(currentDate.getMinutes()+"分");
    console.log(currentDate.getSeconds()+"秒");

    console.log(currentDate.getFullYear()+"年"+currentDate.getMonth()+"月"+currentDate.getDate()+"日"
    +currentDate.getHours()+"时"+currentDate.getMinutes()+"分"+currentDate.getSeconds()+"秒");
  • 2, 判断两个日期相差的天数(可先求毫秒数差,再转换成天)
 var date1 = new Date()
    var date2 = new Date("2022/3/1")
    var number =Math.abs(date1-date2)
    console.log(Math.floor(number/1000/60/60/24)+"天");
  • 3, 根据getDate()和setDate(), 封装一个函数afterDate(date,n),得到日期date的n天后的日期
 function afterDate(date,n){
             
            date.setTime(date.getTime()+n*24*60*60*1000)
            return date
        }
        console.log(afterDate(currentDate,10));

二、对象Object,

1. 对象的概念

 对象Object 是一种引用数据类型 (在后期还会继续延伸对象的详细讲解)。
 在 ECMAScript 中对象可以存储变量和函数(数据和功能)

2. 创建对象

方式一: 使用new

var obj = new Object();        //new方式  
  obj.name = ‘张三’;   	//创建属性字段    
  obj.age = 18;		//创建属性字段
  new关键字可以省略 
  var obj = Object();       //省略了new关键字,不建议

方式二: 字面量方式

var obj = {               
       name :‘张三’,    //创建属性字段,最后加逗号 
       age : 18 
  };

3. 属性字段也可以使用字符串形式

 var box={ 
       “name” : “张三”,     //也可以用字符串形式 
       “age" : 28
  };

4. 使用字面量及传统赋值方式

var box={};       //字面量方式声明空的对象
  box.name=‘张三’;     //点符号给属性赋值
  box.age= 18;

5. 两种属性输出方式

 alert(box.age);       //点表示法输出 
  alert(box[“age”]);        //中括号表示法输出,注意引号

6. 给对象创建方法

 var obj={ 
           run : function() {   //对象中添加方法(函数)run
	    retrun “正在跑步..”; 
           }
    } 
    obj.run();    //调用对象中的方法

7. 使用 delete 删除对象属性 或 方法

delete obj.name;     //删除属性
 delete obj.run;     //删除方法

8. 练习

1, 创建一个人的对象, 添加属性: 姓名 年龄 爱好 薪资期望, 并有一个打印自身信息的方法, 可以输出自身信息;

var person = new Object()
person.name = "张三"
person.age = 18
person.likes = "吃饭"
person.money = 12000
person.printinfo = function(){
    console.log(`${person.name}年龄${person.age}喜欢${person.likes}期望薪资${person.money}`);
}
person.printinfo()

2 创建一个对象hammer,有属性:宽,高,重; 方法:可以锤钉子

var hammer = {
        width:100,
        height:100,
        kg:300,
        action:function(){
            console.log("可以锤钉子");
        }
    }
    console.log(hammer);

3, 有一辆50km/h车,跑在一条1000km路上,问多少小时跑完?
对象:
车Car 属性: 速度speed 50km/h
功能: 跑在路上runOnRoad(Road)
路Road 属性: 长度length 1000km

 var car = {
        speed:50,
        runOnRoad:function(Road){
            console.log("跑在路上计划"+Road.length/car.speed+"小时跑完");
        }
    }
    var road = {
        length:1000
    }
    car.runOnRoad(road)

三、定时器,

1, 定时器setInterval

  setInterval(): 定时器方法, 可按照指定的周期(以毫秒计)来调用函数或计算表达式

创建定时器
setInterval(code,millisec)
code: 要调用的代码块或者函数
millisec: 是周期性执行代码块或函数的间隔,以毫秒计
例如: 创建定时器timer, 每隔1秒调用一次函数function
var timer = setInterval( function(){},1000);

关闭定时器
setInterval()方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
由setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
例如: 关闭上面创建的定时器timer
clearInterval(timer);

  • setInterval()可以有三种不同的写法

写法一: (直接使用字符串,不建议)

setInterval(“alert(‘hello’)”, 1000);  

写法二: (直接传入函数名即可)

function func(){
     alert(“hello”);
}
setInterval(func, 1000); 	

写法三: (推荐写法, 以后最常用)

setInterval(function(){   	 
      alert(“hello”);
}, 1000);
 

2, 延时器setTimeout

  • setTimeout(): 指定的时间过后执行一次代码.

setTimeout和setInterval的用法类似
创建延时器

var timer = setTimeout(function(){ }, 1000);

取消延时器

clearTimeout(timer);
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值