【发布时间】:2018-03-08 20:17:07
【问题描述】:
我有一个简单的 javascript 循环,如下所示:
function runCode() {
$("#sample-span").removeAttr("style");
for (var i = 0; i < 100000; i++) {
console.log(new Date());
}
$("#sample-span").toggleClass("colorized");
}
页面中的切换类 span 如下:
<span id="sample-span" style="color: orange;">Sample Text</span>
<input type="button" value="click to run" onclick="runCode()" />
<style>
span {
color: blue;
}
.colorized {
color: red;
}
</style>
问题是当循环运行时页面冻结并且看不到跨度颜色的变化。
我该如何解决这个问题?
更新
亲爱的,console.log(new Date()); 只是一个示例,您假设这里正在运行繁重的 javascript 进程。
【问题讨论】:
-
你为什么要记录
new Date()100000 次?那是非常昂贵的。 -
亲爱的@GhassenLouhaichi,这只是一个示例,假设这里正在运行繁重的javascript procces。
-
那么你必须将你的进程拆分成异步代码。
标签: javascript loops for-loop freeze