gpt4 book ai didi

javascript - 使用 Javascript,你可以在一秒钟内计数 += 1 多少次?

转载 作者:行者123 更新时间:2023-12-01 15:35:32 25 4
gpt4 key购买 nike

我正在尝试测量我在一秒钟内可以使“count = count + 1”多少次。但是这个功能会破坏浏览器。任何人都可以说出它为什么会发生或有更好的方法来计算它?

function counter(){
var count = 0;
var trs = true;
while(trs){
count = count + 1;
setTimeout(() => {trs = false;}, 1000);
}
console.log(count);
}

最佳答案

它崩溃的原因是由于无限循环。 JavaScript 是事件驱动 + 单线程,在 JavaScript 执行模型中,函数必须在将控制权交给另一个函数之前完成。因此,代码 while (trs) {...}永远不会将控制权交给 setTimeout 中定义的函数因为它永远不会结束。 trs总是 true .
关于 JavaScript 执行模型如何工作的漂亮可视化:https://blog.avenuecode.com/understanding-the-javascript-concurrency-model
这是一个更好的方法:

function counter() {
var count = 0
var start = Date.now()
var end = start + 1000
while (Date.now() <= end) {
count = count + 1
}
console.log(count)
}

关于javascript - 使用 Javascript,你可以在一秒钟内计数 += 1 多少次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63514556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com