Don't miss out on the action at this year's Chrome Dev Summit, streaming live on YouTube. Watch now.

Console API 参考

使用 Console API 可以向控制台写入信息、创建 JavaScript 配置文件,以及启动调试会话。

console.assert(expression, object)

在被评估的表达式为 false 时向控制台写入一个错误

function greaterThan(a,b) {
  console.assert(a > b, {"message":"a is not greater than b","a":a,"b":b});
}
greaterThan(5,6);

console.assert() 示例

console.clear()

清除控制台。

console.clear();

如果已启用 Preserve log 复选框,console.clear() 将停用。 不过,在控制台处于聚焦状态时,按 clear console 按钮 (clear console 按钮) 或者输入 Ctrl+L 快捷键仍然有效。

如需了解详细信息,请参阅清除控制台

console.count(label)

写入在同一行使用相同标签调用 count() 的次数。

function login(name) {
  console.count(name + ' logged in');
}

console.count() example

请参阅对语句执行进行计数,查看更多示例。

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

console.log() 作用相同。

console.dir(object)

输出以 JavaScript 形式表示的指定对象。如果正在记录的对象是 HTML 元素,将输出其以 DOM 形式表示的属性,如下所示:

console.dir(document.body);

klzzwxh:0018 example

请参阅字符串替代和格式设置,了解功能相同的对象格式化程序 (%O) 和其他信息。

console.dirxml(object)

如果可以,输出 object 子级元素的 XML 表示形式,否则输出其 JavaScript 表示形式。 在 HTML 和 XML 元素上调用 console.dirxml() 等同于调用 console.log()

console.dirxml(document);

console.dirxml() example

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

输出一条类似于 console.log() 的消息,将消息设置成错误样式,并在调用此方法的地方包含一个堆叠追踪。

console.error('error: name is undefined');

console.error() example

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

启动一个带有可选标题的新日志组。以可视化方式将在 console.group() 后、console.groupEnd() 前发生的所有控制台输出组合在一起。

function name(obj) {
  console.group('name');
  console.log('first: ', obj.first);
  console.log('middle: ', obj.middle);
  console.log('last: ', obj.last);
  console.groupEnd();
}

name({"first":"Wile","middle":"E","last":"Coyote"});

console.group() example

您还可以嵌套组:

function name(obj) {
  console.group('name');
  console.log('first: ', obj.first);
  console.log('middle: ', obj.middle);
  console.log('last: ', obj.last);
  console.groupEnd();
}

function doStuff() {
  console.group('doStuff()');
  name({"first":"Wile","middle":"E","last":"coyote"});
  console.groupEnd();
}

doStuff();

nested console.group() example

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

创建一个初始处于折叠状态而不是打开状态的新日志组。

console.groupCollapsed('status');
console.log("peekaboo, you can't see me");
console.groupEnd();

console.groupEnd()

关闭日志组。相关示例请参阅 console.group

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

输出一条类似 console.log() 的消息,但同时在输出旁显示一个图标(带白色“i”的蓝色圆圈)。

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

在控制台中显示一条消息。将一个或多个对象传递到此方法。每个对象都会进行评估并级联到一个由空格分隔的字符串中。

console.log('Hello, Logs!');

格式说明符

您传递的第一个对象可以包含一个或多个格式说明符。格式说明符由百分号 (%) 与紧跟其后面的一个字母组成,字母指示要应用的格式。

相关指南:

console.profile([label])

启动一个带有可选标签的 JavaScript CPU 配置文件。要完成配置文件,请调用 console.profileEnd()。 每一个配置文件都会添加到 Profiles 面板中。

function processPixels() {
  console.profile("processPixels()");
  // later, after processing pixels
  console.profileEnd();
}

console.profileEnd()

停止当前的 JavaScript CPU 分析会话(如果正在进行此会话),并将报告输出到 Profiles 面板中。

相关示例请参阅 console.profile()

console.time(label)

启动一个具有关联标签的新计时器。使用相同标签调用 console.timeEnd() 时,定时器将停止,经过的时间将显示在控制台中。计时器值精确到亚毫秒。传递到 time()timeEnd() 的字符串必须匹配,否则计时器不会结束。

console.time("Array initialize");
var array = new Array(1000000);
for (var i = array.length - 1; i >= 0; i--) {
  array[i] = new Object();
}
console.timeEnd("Array initialize");

console.time() example

console.timeEnd(label)

停止当前的计时器(如果正在运行一个计时器),并将计时器标签和经过的时间输出到控制台。

相关示例请参阅 console.time()

console.timeStamp([label])

在录制会话期间向 Timeline 添加一个事件。

console.timeStamp('check out this custom timestamp thanks to console.timeStamp()!');

console.timeStamp() example

相关指南:

console.trace(object)

从调用此方法的位置输出一个堆叠追踪。

console.trace();

console.trace() 示例

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

输出一条类似 console.log() 的消息,但同时在记录的消息旁显示一个黄色警告图标。

console.warn('user limit reached!');

console.warn() example