js对象编程
Date时间对象
Date对象常用方法
修改html标签内容
标准输出日期代码
重要的定时器函数
Date时间对象
创建Date
Date存储从1970-1-1-0:0:0以来的毫秒数
- 不带参数
创建一个含有系统当前日期和时间的Date对象
var myDate = new Date();
- 创建指定日期的Date对象
除了年、月外,其他的参数都可以省略不写
不输入默认为0。月份是从0开始算,即0是一月
日期字符串- “2020-1-1”
- “2020/1/1”
- “2020 1 1”
- “2020 jan 1”
var myDate = new Date("2021/3/18");
- 创建一个指定时间的Date对象
创建一个包含确定日期和时间的Date对象。
var myDate = new Date(2020,6,1,10,30,20,50);
Date对象常用方法 {#方法}
方法名 | 描述 |
---|---|
getYear() | 返回1900年到今年的相差年数(不建议使用) |
getFullYear() | 返回今年的年份 |
getMonth() | 返回月数(0-11) |
getDate() | 返回日期数(1-31) |
getDay() | 返回星期数(0-6)0是周日 |
getHours() | 返回小时(0-23) |
getMinutes() | 返回分钟数(0-59) |
getSeconds() | 返回秒数(0-59) |
getMilliseconds() | 返回毫秒数(0-999) |
getTIme() | 返回对应日期基线(1970-1-1)的毫秒 |
toGMTstring() | 以GMT格式表示 |
toLocaleString() | 返回当前系统的日期格式,是字符串 |
修改页面html元素内容 {#innerHTML}
这个是修改标签之间的内容,就是<p>(修改这里的内容)</p>
举例
<p id="time"></p>
<script>
document.getElementById("time").innerHTML = "hello";
</script>
输出日期标准格式 {#fixedTime}
<p id="time"></p>
<script>
var myDate = new Date();
var year = myDate.getFullYear();
var month = myDate.getMonth() + 1;
var date = myDate.getDate();
var hour = myDate.getHours();
var min = myDate.getMinutes();
var sec = myDate.getSeconds();
function fixedDigit(num) {
return num < 10 ? "0" + num : num; //若不足2位,前面补0
}
var dateString = year + "年" + fixedDigit(month) + "月" + fixedDigit(date) + "日 " +
fixedDigit(hour) + ":" + fixedDigit(min) + ":" + fixedDigit(sec);
document.getElementById("time").innerHTML = "当前日期为:" + dateString;
</script>
定时器函数
重要内容(setTimeout、setInterval、定时器清除)
- setTimeout()
用于在指定毫秒之后调用函数或者表达式
setTimeout(“调用的函数名称或表达式”,等待的毫秒数)
注意!!!
- 函数名不能加括号会立即执行。
setTimeout(hello, 3000)
//仅填写函数名,不能加(),否则会立即执行
function hello() {
alert("hello");
}
- 调用表达式要加引号
setTimeout("alert('hello')", 3000)
- 调用匿名函数不加引号
setTimeout(function(){
alert("hello");
}, 3000)
- 调用函数,加了引号和括号才不会立即执行
setTimeout("hello()", 3000)
function hello() {
alert("hello");
}
使用setTimeout()实现周期性执行
setTimeout()只会调用一次,如果需要周期性得话,需要在函数内加setTimeout()调用函数自己,然后在js中调用一次该函数。
例子
<script>
function show(){
document.write("hello ");
setTimeout(show,2000);
}
show();
</script>
- setInterval()
可按照指定的周期(毫秒)来调用函数或计算表达式。
setInterval(“调用的函数名称或表达式”,等待的毫秒数)
setInterval()会不停地调用函数,直到窗口关闭或者被clearInterval()清除。
清除定时器
clearsetTimeout()会在setTimeout执行后自动清除。
clearsetInterval()在setInterval后需要手动调用来清除。
为什么要清除定时器,因为定时器被创建了,会在后台一直计时,消耗资源,不用了就应该清除,释放资源。
多个setTimeout()同一个时间轴,如果一个setTimeout设置3秒,后面跟一个设置4秒,那么当第一个setTimeout执行一秒后,后一个setTimeout就会执行。