📜  javascript 时间脚本 - Javascript (1)

📅  最后修改于: 2023-12-03 15:01:44.390000             🧑  作者: Mango

JavaScript 时间脚本

JavaScript 是一种广泛用于客户端 Web 开发的脚本语言,可以通过它来操作页面上的元素、执行动画、响应用户输入,以及控制页面的交互行为。

在 JavaScript 中,时间脚本是一个非常基础、同时也非常重要的概念。时间脚本通常用来控制某些代码在指定的时间点执行,完成一些“定时任务”。

setTimeout 和 setInterval 方法

在 JavaScript 中,我们可以使用 setTimeoutsetInterval 两个方法来延迟执行某些代码。

其中,setTimeout 用于在指定的时间之后执行一次指定的代码块,语法如下:

setTimeout(code, delay);

其中,code 参数表示要执行的代码块,可以是一个函数、一个字符串或一个表达式。delay 参数表示延迟多少毫秒之后再执行代码块。例如:

setTimeout(function() {
    console.log("Hello, world!");
}, 1000);

上面的代码会在 1 秒钟之后,输出一条信息到控制台上。

setInterval 方法用于重复执行一个代码块,语法如下:

setInterval(code, delay);

其中,codedelay 参数的含义与 setTimeout 相同。例如:

var count = 0;

setInterval(function() {
    count++;
    console.log("Count: " + count);
}, 1000);

上面的代码会每隔 1 秒钟输出一次当前计数器的值,直到页面关闭为止。

Date 对象

在 JavaScript 中,我们可以使用 Date 对象来表示和计算时间。Date 对象的常用方法和属性如下表所示:

| 方法/属性 | 描述 | | --- | --- | | getDate() | 返回一个月中的某一天(1~31)。 | | getDay() | 返回星期中的某一天(0~6)。 | | getFullYear() | 返回日期的年份(四位数)。 | | getHours() | 返回小时数(0~23)。 | | getMilliseconds() | 返回毫秒数(0~999)。 | | getMinutes() | 返回分钟数(0~59)。 | | getMonth() | 返回月份(0~11)。 | | getSeconds() | 返回秒数(0~59)。 | | getTime() | 返回距 1970 年 1 月 1 日之间的毫秒数。 | | setDate() | 设置一个月中的某一天(1~31)。 | | setFullYear() | 设置日期的年份(四位数)。 | | setHours() | 设置小时数(0~23)。 | | setMilliseconds() | 设置毫秒数(0~999)。 | | setMinutes() | 设置分钟数(0~59)。 | | setMonth() | 设置月份(0~11)。 | | setSeconds() | 设置秒数(0~59)。 | | setTime() | 设置距 1970 年 1 月 1 日之间的毫秒数。 |

例如,可以使用以下代码获取当前时间:

var now = new Date();
console.log(now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate());

上面的代码输出的效果为当前时间的年份-月份-日期格式,例如:2020-12-11

定时器的取消

在 JavaScript 中,我们可以使用 clearTimeoutclearInterval 方法来取消对应的延迟执行或重复执行的代码块。

例如,可以使用以下代码来取消先前已经设置的定时器:

var timer = setTimeout(function() {
    console.log("Hello, world!");
}, 1000);

clearTimeout(timer);

上面的代码会在 1 秒钟之后输出一条信息到控制台上,但是立即被取消,因此不会输出任何信息。

总结

时间脚本是 JavaScript 编程中的一个重要部分,可以通过定时执行某些代码,实现一些重要的功能。在开发中,我们通常使用 setTimeoutsetInterval 两个方法来延迟执行某些代码,同时使用 Date 对象来表示和计算时间。同时,我们也需要注意取消定时器的使用,以避免不必要的资源浪费。