Don't forget the Chrome Dev Summit, starting Monday at 10:00am (Pacific) and streaming live on YouTube. Schedule.

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