console.log()是如何实现的

How is console.log() implemented?

本文关键字:实现 何实现 log console      更新时间:2023-09-26

我在哪里可以了解console.log的实现?明确地说,我知道如何使用console.log(),但是我想看到一些主流浏览器的console.log的底层实现。console.log只是回显输入到屏幕的一部分吗?当解析js时,它是否将记录的字符串保存到磁盘,然后将其写回屏幕?等。

所有控制台行为(包括必须实现的算法)都在https://console.spec.whatwg.org中定义(如果不在那里,其实现是未定义的,并且字面上是"无论如何工作")。

对于这个问题,截至2021年3月23日的行为规定为:

如果在调用打印机操作时没有打开控制台,则实现应该缓冲消息以在将来显示它们,直到实现选择的限制(通常在至少100的顺序上)。

(当然,IE在2021年不再像2014年那样重要,最后一个版本的IE最终于2022年6月15日进入EOL)

console.log()可以用来调试变量,测试函数是否被调用,诸如此类,下面是一个例子

for(i=0;i<10;i++){
  console.log(i)
}

控制台:123.456789

再举一个例子:

function start(){
  console.log("starting...")
  started = true
  console.log(started)
}

控制台:"开始…"真正的

我不认为这是任何规范的一部分。你可以阅读它和相关链接:https://developer.mozilla.org/en-US/docs/Web/API/console.log