发布网友 发布时间:2024-10-18 20:04
共1个回答
热心网友 时间:2024-11-15 11:07
先看浏览器报错(去控制台):
ReferenceError: Can't find variable: startTime
global code — xxx.html:1
说明无法找到startTime函数。因为你把它定义在了xianshi()内部,只有xianshi()内部才能调用startTime。代码执行速度很快,所以当setTimeout在500ms之后试图执行"startTime()"的时候,xianshi早已被执行完毕,运行环境已经不在xianshi里了。setTimeout是window的函数(window.setTimeout),这时候js的作用环境是全局(window),而它无法在全局范围内找到startTime,所以报错。
方法一:把startTime定义为全局函数:
function startTime(){方法二:传入一个函数给setTimeout(js的闭包)
t = setTimeout(function(){startTime()}, 500);