控制台 API 参考文档

Sofia Emelianova
Sofia Emelianova

使用 Console API 可从 JavaScript 向控制台写入消息。如需以互动方式简要了解此主题,请参阅开始将消息记录到控制台

如果您要查找仅在控制台中提供的便捷方法(例如 debug(function)monitorEvents(node)),请参阅 Console 实用程序 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

写入在同一行使用相同 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(object [, object, ...])

日志级别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 时,该组最初处于收起状态。

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(array [, columns])

日志级别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() 示例的结果。