js基础 - Console

247 阅读3分钟

对于熟悉js的小伙伴一定对console再熟悉不过,可能我们的第一句js代码就是console.log("Hello,World!")😀,console会伴随我们整个职业生涯,但我们真的有试图深入了解它吗?

console对象可以从任何全局对象中访问到,提供了浏览器控制台(nodejs终端)调试的接口。

我们最熟悉的事物,往往是我们最不了解的。

方法

console.assert(assertion, arg1 [, arg2, ..., argN])

如果断言为 false,则将一个错误消息写入控制台。如果断言是 true,将会返回一个undefinedarg是可选的参数,某些时候我们可能需要显示某些变量,就可以输入不定数量的arg参数,让它们在控制台一起打印。

console.clear()

清空控制台,并输出 Console was cleared

console.count([label])

输出 count() 被调用的次数。此函数接受一个可选参数 label。 如果label存在,此函数输出为那个指定的label和count()被调用的次数。 如果label被忽略,此函数输出count()在其所处位置上被调用的次数。

const label1 = 'label1', label2 = 'label2';
function invok(labelKey) {
    console.count(labelKey);
}
invok();
// default: 1
invok(label1);
// label1: 1
invok();
// default: 2
invok(label1);
// label1: 2
invok(label2);
// label2: 1

console.countReset([label])

重置计数器。此函数有一个可选参数 label。如果提供了参数label,此函数会重置与 label 关联的计数。 如果省略了参数label,此函数会重置默认的计数器。

console.debug(arg[, arg1, ..., argN])

输出“调试”级别的消息且仅仅控制台配置为显示调试输出时才显示该消息。

console.dir(obj)

打印出该对象的所有属性和属性值。有个很实用的场景是DOM节点打印,当我们尝试使用console.log打印一个DOM节点时,返回的是HTMLElement,这对我们是毫无意义的,我们需要的是Element上的属性以及属性值,而console.dir可以非常简单的帮助我们查看Element的节点属性和属性值。任何合法的js对象(FunctionNull以及Undefined均合法)都可以使用console.dir打印.

function test() {
    this.name = 'test';
}
console.dir(test);

console.dirxml(object)

显示一个明确的 XML/HTML 元素的包括所有后代元素的交互树。如果无法作为一个 element 被显示,那么会以 JavaScript 对象的形式作为替代。它的输出是一个继承的扩展的节点列表,可以让你看到子节点的内容。

console.error(msg[, arg1, ..., argN])

向 Web 控制台输出一条错误消息。

console.group()

在控制台创建一个新的分组。随后输出到控制台上的内容都会被添加一个缩进,表示该内容属于当前分组,直到调用console.groupEnd()之后,当前分组结束。

console.groupCollapsed

在控制台上创建一个新的分组。随后输出到控制台上的内容都会被添加一个缩进,表示该内容属于当前分组,直到调用console.groupEnd() 之后,当前分组结束。和 console.group()方法的不同点是,新建的分组默认是折叠的。用户必须点击一个按钮才能将折叠的内容打开。

console。groupEnd

闭合当前内联分组

console.info(msg [, arg1, ..., argN])

向 web 控制台输出一个通知信息。仅在 Firefox,web 控制台的日志中的项目旁边会显示一个小的‘I‘图标

console.log(msg [, arg1, ..., argN])

向 Web 控制台输出一条消息。