首先,很多命令都是阻塞的,比如 DOM 操作、localStorage 的读取。但是这里谈论阻塞没有什么意义,因为操作很快就完成了。 其次,Node.js 里面很多 IO 可以是阻塞的,但是我猜想题主问的是浏览器环境下的 JavaScript,所以就不讨论了。 再其次,Web worker 里面有很多操作可以是阻塞的,但是这同样没有什么意义,因为 worker 与主线程之间是只能够使用异步通讯的。 那么看一下,排除以上三点,我所能想到的就只剩下: window.alert window.confirm window.prompt 同步的 XMLHttpRequest 的 send 方法
首先,很多命令都是阻塞的,比如 DOM 操作、
localStorage
的读取。但是这里谈论阻塞没有什么意义,因为操作很快就完成了。其次,Node.js 里面很多 IO 可以是阻塞的,但是我猜想题主问的是浏览器环境下的 JavaScript,所以就不讨论了。
再其次,Web worker 里面有很多操作可以是阻塞的,但是这同样没有什么意义,因为 worker 与主线程之间是只能够使用异步通讯的。
那么看一下,排除以上三点,我所能想到的就只剩下:
window.alert
window.confirm
window.prompt
XMLHttpRequest
的send
方法