扫码关注官方订阅号
Javascript 有哪些阻塞命令?只见过 alert,还有其他的吗?
alert
业精于勤,荒于嬉;行成于思,毁于随。
首先,很多命令都是阻塞的,比如 DOM 操作、localStorage 的读取。但是这里谈论阻塞没有什么意义,因为操作很快就完成了。
localStorage
其次,Node.js 里面很多 IO 可以是阻塞的,但是我猜想题主问的是浏览器环境下的 JavaScript,所以就不讨论了。
再其次,Web worker 里面有很多操作可以是阻塞的,但是这同样没有什么意义,因为 worker 与主线程之间是只能够使用异步通讯的。
那么看一下,排除以上三点,我所能想到的就只剩下:
window.alert
window.confirm
window.prompt
XMLHttpRequest
send
confirm
prompt
showModalDialog
while(1);
debugger 算么。
所有涉及DOM操作(增、删、改)的都是阻塞的
除了setTimeout和setInterval外,浏览器端js基本上都是阻塞的,只是阻塞的时间长短问题。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
首先,很多命令都是阻塞的,比如 DOM 操作、
localStorage的读取。但是这里谈论阻塞没有什么意义,因为操作很快就完成了。其次,Node.js 里面很多 IO 可以是阻塞的,但是我猜想题主问的是浏览器环境下的 JavaScript,所以就不讨论了。
再其次,Web worker 里面有很多操作可以是阻塞的,但是这同样没有什么意义,因为 worker 与主线程之间是只能够使用异步通讯的。
那么看一下,排除以上三点,我所能想到的就只剩下:
window.alertwindow.confirmwindow.promptXMLHttpRequest的send方法confirmalert
confirm
prompt
showModalDialog
while(1);
所有涉及DOM操作(增、删、改)的都是阻塞的
除了setTimeout和setInterval外,浏览器端js基本上都是阻塞的,只是阻塞的时间长短问题。