javascript - 为什么JS这段代码在浏览器上是看不到数字递增的感觉
阿神
阿神 2017-04-10 16:04:43
[JavaScript讨论组]
for (var i = 0; i < 1000000; i ++) document.body.innerHTML = i;

明白使用setTimeout可以实现数字递增的效果,但是不明白为什么上面这段代码在浏览器上是看不到数字递增的感觉,而是一次就刷新到了最大值?这个是浏览器优化了什么吗?

阿神
阿神

闭关修行中......

全部回复(2)
PHP中文网

这里的for是同步执行的,也就是一直霸占线程不放,而js是单线程生物,负责渲染的部分(赋值给innerHTML不等于渲染,只是告诉浏览器在渲染时需要显示的内容)需要等到这段代码结束后才有机会执行,这时innerHTML的值是什么就显示什么,中间过程你看不到了

巴扎黑

类似的问题

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号