【发布时间】:2014-03-29 20:39:34
【问题描述】:
我的处境很尴尬,
我使用纯 JavaScript 已经将近 3 年了,我知道 JavaScript 是单线程语言,
并且您可以使用setInterval 和setTimeout 函数模拟异步执行,
但是当我想到它们如何工作时,我无法清楚地理解它。 那么这些函数是如何影响执行上下文的呢?
我想在特定时间只运行一部分代码,然后切换到
另一部分。如果是这样,那么会有很多setInterval 或setTimeout
调用会影响性能吗?
【问题讨论】:
-
当然。如果你这样做
while(true);,那么超时和间隔将永远不会运行。 -
您放置的每一段代码都会影响性能,更重要的是间隔和超时,因为您正在使浏览器不断处理以减少变量。所以如果你有很多,你的页面会运行得很慢
-
他们只推迟执行,直到所有其他代码都执行完毕并且线程空闲,他们不创建新线程。
-
想象一个按执行时间排序的任务队列。如果执行时间
标签: javascript browser v8 spidermonkey chakra