控制台 API 参考文档

Sofia Emelianova
Sofia Emelianova

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

如果您要查找只能从控制台提供的 debug(function)monitorEvents(node) 等便捷方法,请参阅控制台实用程序 API 参考文档

console.assert(expression, object)

日志级别Error

expression 的求值结果为 false 时,将错误写入控制台。

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

写入 count() 在同一行并且使用相同的 label 调用的次数。调用 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(object [, object, ...])

日志级别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(对象 [, 对象, ...])

日志级别Warning

向控制台输出警告。

console.warn('warn');

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