首页 > 解决方案 > 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);

标签: javascriptbrowser

解决方案


您只是为相同的变量名分配了一个新函数。setInterval仍然有对前一个函数的引用。


推荐阅读