希望Javascript无限循环运行

Want Javascript run while loop infinitely

本文关键字:运行 无限循环 Javascript 希望      更新时间:2023-09-26

我希望Javascript代码可以无限地操作html中的某个对象,

但是,我只能使用setTimeout("function()", 0),不能使用while(1)

例如

while : https://gist.github.com/Asoul/e5dd3bd38eef4ca239cb

setTimeout : https://gist.github.com/Asoul/bda34fa2f70e4077ec12

我不知道为什么while(1)无法在我的铬上运行

SetTimeout有时可以工作,但是如果我的代码中有很多setTimeout或一些未知的原因,它就会滞后。

示例:http://www.csie.ntu.edu.tw/~b00902036/run_neo/run_neo.html

(用上、左、右玩。我努力避免滞后,但有时它仍然会发生。

我想使用纯CSS,而不是画布,并希望游戏可以没有延迟。

你不能使用while的主要原因是因为javascript是单线程的。如果使用 while(1) ,则该函数将永远不会退出,并且所有其他交互都将被冻结。

设置超时有时可以工作,但如果我的设置超时 代码或一些未知的原因,它会滞后。

这也是因为javascript的单线程性质,如果有一个函数需要很长时间才能完成,它将主导主线程。

希望游戏可以没有延迟。

您需要避免在所有函数中长时间运行操作。如果无法避免这种情况,请尝试使用 setTimeout 将长时间运行的操作拆分为多个部分。例如:如果您有一个处理 100 条记录的 for 循环,则可以将其拆分为 10 个单独的迭代。