对于熟悉js的小伙伴一定对console再熟悉不过,可能我们的第一句js代码就是console.log("Hello,World!")😀,console会伴随我们整个职业生涯,但我们真的有试图深入了解它吗?
console对象可以从任何全局对象中访问到,提供了浏览器控制台(nodejs终端)调试的接口。
我们最熟悉的事物,往往是我们最不了解的。
方法
console.assert(assertion, arg1 [, arg2, ..., argN])
如果断言为 false,则将一个错误消息写入控制台。如果断言是 true,将会返回一个undefined。arg是可选的参数,某些时候我们可能需要显示某些变量,就可以输入不定数量的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节点时,返回的是HTML的Element,这对我们是毫无意义的,我们需要的是Element上的属性以及属性值,而console.dir可以非常简单的帮助我们查看Element的节点属性和属性值。任何合法的js对象(Function,Null以及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 控制台输出一条消息。