Javascript Chrome 控制台同时
Javascript Chrome console while
我试图在 Chrome 控制台中使用 Javascript 创建一个循环,该循环始终执行相同的功能。相反,它不输出任何内容,实际上只是增加 Chromes 内存大小,直到它崩溃。关于这里出了什么问题有什么建议吗?
while(true){
window.setTimeout(function (){
console.log("Hello");
}, 4000)}
您正在创建大量 setTimeout
事件,所有这些事件都立即快速连续创建,并计划在创建后 4000 毫秒调用。
您似乎在寻找 .setInterval()
来执行连续调用。
window.setInterval(function() {
console.log("Hello");
}, 4000);
要用 setTimeout
做到这一点,您仍然不会使用任何类型的命令式循环。您可以让回调在运行时设置另一个 setTimeout
。
window.setTimeout(function f() {
console.log("Hello");
setTimeout(f, 4000);
}, 4000);
我给回调函数取了个名字f
,这样它就可以用于下一个计时器。
通常,您不会 "pause" 您的脚本。您安排稍后完成的事情,并允许代码继续 运行 直到那时。这就是你遇到问题的原因。预定的计时器没有暂停任何东西,所以循环只是保持 运行 全速。
我试图在 Chrome 控制台中使用 Javascript 创建一个循环,该循环始终执行相同的功能。相反,它不输出任何内容,实际上只是增加 Chromes 内存大小,直到它崩溃。关于这里出了什么问题有什么建议吗?
while(true){
window.setTimeout(function (){
console.log("Hello");
}, 4000)}
您正在创建大量 setTimeout
事件,所有这些事件都立即快速连续创建,并计划在创建后 4000 毫秒调用。
您似乎在寻找 .setInterval()
来执行连续调用。
window.setInterval(function() {
console.log("Hello");
}, 4000);
要用 setTimeout
做到这一点,您仍然不会使用任何类型的命令式循环。您可以让回调在运行时设置另一个 setTimeout
。
window.setTimeout(function f() {
console.log("Hello");
setTimeout(f, 4000);
}, 4000);
我给回调函数取了个名字f
,这样它就可以用于下一个计时器。
通常,您不会 "pause" 您的脚本。您安排稍后完成的事情,并允许代码继续 运行 直到那时。这就是你遇到问题的原因。预定的计时器没有暂停任何东西,所以循环只是保持 运行 全速。