javascript - setInterval 是否存储要执行的表达式值/代码?
问题描述
当我们setInterval
在控制台中使用函数变量执行时,我们会更改函数变量定义。即使现在旧代码也在 setInterval 中执行。setInterval 是否存储旧值...?
var funA = function(){document.write("Hello</br>");};
setInterval(funA,1000);
在控制台Hello
中运行上述代码后,将写入文档。一段时间后,我运行以下代码:
var funA = function(){document.write("Bye</br>");};
Hello
但是,即使函数的定义发生了变化,我仍然被写入文档中funA
。
另一个观察结果是,如果我重新执行,setInterval
那么我也开始得到Bye
。
setInterval(funA,1000);
解决方案
您只是为相同的变量名分配了一个新函数。setInterval
仍然有对前一个函数的引用。
推荐阅读
- python - 使用 .csv 标头(字符串日期)作为变量
- python - 熊猫散点图可以在没有交互性的情况下绘制图形
- ios - 仅在 Swift 4.2 中上传带有多部分表单数据的图像
- c++ - Qt Post 请求执行但失败
- javascript - 禁用复选框
- gitlab - GitLab 容器注册表:有什么方法可以自动删除旧容器?
- django-cms - Django CMS 占位符字段
- javascript - 如何使用 JS 使 HTML 内容随机变化
- python - 为什么我的应用程序为每个新输入输出相同的结果?
- visual-studio-2015 - 用户工具 Visual Studio 2015 vsDiffMerge.exe 参数的配置