控制台 API 参考文档

凯切·巴斯克斯
Kayce Basques
索菲亚·埃梅利安诺娃
Sofia Emelianova

使用 Console API 从 JavaScript 向控制台写入消息。如需查看该主题的交互式简介,请参阅开始将消息记录到控制台

如果您需要 debug(function)monitorEvents(node) 等便捷方法(这些方法仅从控制台获得),请参阅 Console 实用程序 API 参考文档

console.assert(表达式, 对象)

日志级别Error

expression 的计算结果为 false 时,向控制台写入一个 error

const x = 5;
const y = 3;
const reason = 'x is expected to be less than y';
console.assert(x < y, {x, y, reason});

上述 console.assert() 示例的结果。

console.clear()

清除控制台。

console.clear();

如果启用了保留日志,则系统会停用 console.clear()

或者,您也可以点击 ALT_TEXT_HERE 图标清除控制台

console.count([label])

日志级别Info

写入使用同一 label 的同一行调用 count() 的次数。调用 console.countReset([label]) 以重置计数。

console.count();
console.count('coffee');
console.count();
console.count();

上述 console.count() 示例的结果。

console.countReset([label])

重置计数。

console.countReset();
console.countReset('coffee');

console.createTask(name)

返回将当前堆栈轨迹与创建的 task 对象相关联的 Task 实例。稍后,您可以使用此 task 对象运行函数(以下示例中的 f)。task.run(f) 会执行任意载荷,并将返回值转发回调用方。

// Task creation
const task = console.createTask(name);

// Task execution
task.run(f); // instead of f();

task 将创建上下文与异步函数的上下文关联起来。此链接可让开发者工具为异步操作显示更优质的堆栈轨迹。如需了解详情,请参阅关联的堆栈轨迹

console.debug(object [, object, ...])

日志级别Verbose

除日志级别不同之外,与 console.log(object [, object, ...]) 相同。

console.debug('debug');

上述 console.debug() 示例的结果。

console.dir(object)

日志级别Info

输出指定对象的 JSON 表示法。

console.dir(document.head);

上述 console.dir() 示例的结果。

console.dirxml(node)

日志级别Info

输出 node 后代的 XML 表示形式。

console.dirxml(document);

上述 console.dirxml() 示例的结果。

console.error(对象 [, 对象, ...])

日志级别Error

向控制台输出 object,将其格式设置为错误,并包含堆栈轨迹。

console.error("I'm sorry, Dave. I'm afraid I can't do that.");

上述 console.error() 示例的结果。

console.group(label)

直观地将消息分组在一起,直到调用 console.groupEnd(label) 为止。首次记录到控制台时,请使用 console.groupCollapsed(label) 将其收起。

const label = 'Adolescent Irradiated Espionage Tortoises';
console.group(label);
console.info('Leo');
console.info('Mike');
console.info('Don');
console.info('Raph');
console.groupEnd(label);

上述 console.group() 示例的结果。

此外,您还可以嵌套群组。

const timeline1 = 'New York 2012';
const timeline2 = 'Camp Lehigh 1970';
console.group(timeline1);
console.info('Mind');
console.info('Time');
console.group(timeline2);
console.info('Space');
console.info('Extra Pym Particles');
console.groupEnd(timeline2);
console.groupEnd(timeline1);

嵌套群组。

console.groupCollapsed(label)

console.group(label) 相同,但组在记录到控制台时最初会收起。

console.groupEnd(label)

停止直观呈现消息分组。请参见console.group

console.info(对象 [, 对象, ...])

日志级别Info

console.log(object [, object, ...]) 相同。

console.info('info');

上述 console.info() 示例的结果。

console.log(object [, object, ...])

日志级别Info

向控制台输出一条消息。

console.log('log');

上述 console.log() 示例的结果。

console.table(数组 [, 列])

日志级别Info

以表的形式记录一组对象。

var people = [
  {
    first: 'René',
    last: 'Magritte',
  },
  {
    first: 'Chaim',
    last: 'Soutine',
    birthday: '18930113',
  },
  {
    first: 'Henri',
    last: 'Matisse',
  }
];
console.table(people);

上述 console.table() 示例的结果。

默认情况下,console.table() 会记录所有表数据。要显示单个列或列的子集,您可以使用第二个可选参数,并将一个或多个列名称指定为字符串或字符串数组。例如:

console.table(people, ['last', 'birthday']);

使用 console.table() 记录的表中的列子集。

console.time([label])

启动一个新的计时器。调用 console.timeEnd([label]) 以停止计时器,并将经过的时间输出到控制台。

console.time();
for (var i = 0; i < 100000; i++) {
  let square = i ** 2;
}
console.timeEnd();

上述 console.time() 示例的结果。

console.timeEnd([label])

日志级别Info

停止计时器。请参见console.time()

console.trace()

日志级别Info

将堆栈轨迹输出到控制台。

const first = () => { second(); };
const second = () => { third(); };
const third = () => { fourth(); };
const fourth = () => { console.trace(); };
first();

上述 console.trace() 示例的结果。

console.warn(object [, object, ...])

日志级别Warning

向控制台输出警告。

console.warn('warn');

上述 console.warn() 示例的结果。