setTimeout 导致未捕获的类型错误:数字不是一个函数
setTimeout causing Uncaught TypeError: number is not a function
所以我在函数之外声明了空白变量。
//To be Timeouts
var progressionTimer;
var nextTimer;
var cycleTimer;
然后在函数内
progressionTimer = setTimout(loadNextFunction, 2000);
progressionTimer();
nextTimer = setTimeout(loadOutsideFunction, 2000);
nextTimer();
//etc
但是每次调用这些声明之一时
nextTimer();
我在Chrome/Firefox/etc中的控制台充满了这个
Uncaught TypeError: number is not a function
它绝对按预期运行,clearTimeout 可以正常工作,但控制台错误让我感到沮丧,任何人都可以在不失去功能性并且仍然具有 clearTimeout 工作的情况下解决这个问题吗?
setTimeout
返回一个处理程序,一个允许您引用超时的 ID,以便您可以使用 clearTimeout
清除它,这是一个数字。
它不返回可以执行的函数,这就是问题所在,您正在尝试执行 setTimeout
的返回值
nextTimer = setTimeout(loadOutsideFunction, 2000);
nextTimer(); // not a function, but a number referencing the timeout ?
clearTimeout(nextTimer); // works just fine
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 我可以在json对象中添加一个函数吗
- Javascript使函数一个接一个地执行
- 是JavaScript中的函数一个对象
- 两个几乎相等的jQuery函数;一个适用于IE,一个不适用于IE
- 两个Javascript函数一个window.onload=Custom.init;和一个window.onload=f
- 使javascript加载函数一个接一个地执行
- 如何通过两个嵌套的匿名函数(一个带有超时的事件处理程序)传递变量
- 为什么我不能让两个jQuery函数一个在另一个里面呢?
- 给函数一个变量名,而不是它的值
- 如何使用嵌入函数(一个滚动页由Pete - peachananr)
- 是否有可能给JavaScript函数一个类型/类?
- 确保两个函数一个接一个地执行,其中第一个函数内部有一个异步调用
- 两个不同的ajax函数一个接一个调用返回相同的值
- jQuery第一次更改函数一个工作
- 给这个函数一个id
- 如何给回调函数一个值一个变量在特定时刻
- 使用回调使两个函数一个接一个地运行
- 两个函数(一个用php)是否可以用“;onclick”;
- 两个几乎相同的函数.一个函数用Queue进行排队.Jquery效果在queued函数上不起作用.为什么