setTimeout 和 clearTimeout

setTimeout 和 clearTimeout1 先写一个错误的例子 functionDeal writesomecod setTimeout function alert 已经等待超过 10 分钟 自动关闭页面 这个例子的行为 不管是否处理完 超过 10 分钟后 都弹出这个 alert 框来 2 再看另一个错误的例子 这次使用了 clearTimeout 函数来清除 setTimeout func

1.先写一个错误的例子:

function DealSomething() {

//write some code
window.setTimeout(function () {

alert(“已经等待超过10分钟,自动关闭页面。”);
}, );
}




这个例子的行为:不管是否处理完,超过10分钟后,都弹出这个alert框来。

2.再看另一个错误的例子,这次使用了clearTimeout函数来清除setTimeout。

function DealSomething() {

//write some code
var Timer =window.setTimeout(function () {

alert(“已经等待超过10分钟,自动关闭页面。”);
}, );
clearTimeout(Timer);
}





其中Timer是setTimeout函数的ID标识,每次调用setTimeout函数都会产生一个唯一的ID,与操作系统中的进程ID相似, 可以通过clearTimeout函数(此函数的参数接收一个setTimeout返回的ID) 暂停setTimeout函数还未执行的代码。

但这个例子的行为是:setTimeout函数永远不会被执行,因为如果还没有执行setTimeout函数中的代码,就调用了clearTimeout函数,那么就不会执行setTimeout函数中的代码了。

3.最后是一个正确的例子。

var Timer
function DealSomething() {

//write some code
Timer =window.setTimeout(function () {

alert(“已经等待超过10分钟,自动关闭页面。”);
}, );
}
function StopDeal() {

clearTimeout(Timer);
}








这样,先调用DealSomething(), 因为它使用了函数外部的变量Timer, 现在这个函数是一个闭包了,在10分钟内调用StopDeal()时,就能达到清除setTimeout函数的作用,等过了10分钟时才不会出alert提示了;如果10分钟内不调用StopDeal()函数,那么就会按期执行setTimeout函数了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205432.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午6:02
下一篇 2026年3月19日 下午6:02


相关推荐

  • maven工程配置私库「建议收藏」

    maven工程配置私库「建议收藏」为什么要配置私库?从中央仓库下载速度缓慢,而且有些jar包是公司私有的包不存在在中央仓库当中,所以我们需要配置私库。首先去修改setting文件,在maven文件夹下的conf文件夹当中<?xmlversion=”1.0″encoding=”UTF-8″?><settingsxmlns=”http://maven.apache.org/SETTINGS/1.0.0″…

    2022年7月18日
    15
  • Python练手经典100例

    Python练手经典100例本博文转载自 http blog csdn net dajiangtai00 article details 个 Python 练手小程序 学习 python 的很好的资料 覆盖了 python 中的每一部分 可以边学习边练习 更容易掌握 python 程序 1 题目 有 1

    2026年3月19日
    2
  • navicat for MySQL版本15激活码_最新在线免费激活2022.02.02

    (navicat for MySQL版本15激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月31日
    291
  • c++迭代器的实现_iterator迭代器用法

    c++迭代器的实现_iterator迭代器用法要访问顺序容器和关联容器中的元素,需要通过“迭代器(iterator)”进行。迭代器是一个变量,相当于容器和操纵容器的算法之间的中介。迭代器可以指向容器中的某个元素,通过迭代器就可以读写它指向的元素。从这一点上看,迭代器和指针类似。迭代器按照定义方式分成以下四种。正向迭代器,定义方法如下:容器类名::iterator 迭代器名;常量正向迭代器,定义方法如下:容器类名::cons…

    2022年8月18日
    18
  • linux创建新的用户组_linux创建用户并指定用户组

    linux创建新的用户组_linux创建用户并指定用户组https://blog.csdn.net/yuanyuan214365/article/details/751539281、添加用户,首先用adduser命令添加一个普通用户,命令如下:#addusertommy//添加一个名为tommy的用户#passwdtommy//修改密码Changingpasswordforusertommy.NewUNIX…

    2025年7月17日
    6
  • ettercap的使用帮助文档 官方man page的个人理解

    ettercap的使用帮助文档 官方man page的个人理解原英文的帮助文档可以在http://linux.die.net/man/8/ettercap查看或者在安装有ettercap的Linux终端输入”manettercap”查看多数以我自己的理解的方式翻译,不是很理解的地方翻译过来的可能会有很多不对的地方如果对我翻译的内容有不一样的看法,欢迎交流。Nameettercap0.7.5-Amultipurposesniffer/co

    2022年6月28日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号