Javascript JS中的console.log是浏览器提供的Web Api的一部分吗

Javascript JS中的console.log是浏览器提供的Web Api的一部分吗,javascript,Javascript,我是JS新手,正在学习Web API。让我有点困惑的是,如果console.log是浏览器提供的Web Api的一部分,那么为什么不通过回调队列启动它呢?我的意思是,据我所知,JS在运行时会将不属于它的东西发送给要启动的Web Api。例如,dom、setTimeOut都是web api,而browser并没有单独启动它,而是发送到web api。我认为您将同步和异步与浏览器api函数和ECMAScript核心混淆了。JavaScript引擎(如Rhino、node.js等)除了规范中保证的EC

我是JS新手,正在学习Web API。让我有点困惑的是,如果console.log是浏览器提供的Web Api的一部分,那么为什么不通过回调队列启动它呢?我的意思是,据我所知,JS在运行时会将不属于它的东西发送给要启动的Web Api。例如,dom、setTimeOut都是web api,而browser并没有单独启动它,而是发送到web api。我认为您将同步和异步与浏览器api函数和ECMAScript核心混淆了。JavaScript引擎(如Rhino、node.js等)除了规范中保证的ECMA核心功能外,还可以添加自己的API

这些API可以包括同步和异步的函数。例如,
setTimeout
将使用事件循环,
console.log()
将同步写入浏览器的控制台(实现因引擎而异),
fetch
将调用一个可以等待的异步函数


这些引擎可以向JavaScript API添加任何他们想要的内容,但这些附加API不需要是异步/同步的,甚至不需要使用事件循环。

什么是“回调队列”?@zero298,浏览器提供两种类型的web API是同步的和异步的吗?例如fetch和settimeout是异步的,console.log是同步的