console.log()还可以这么用

152 阅读2分钟

很多开发者会使用console.log()来调试JavaScript。不过,除了这个,console对象还为我们提供了其他的方法。 console也就是控制台对象提供对浏览器调试控制台的访问。不同的浏览器,其工作方式各不相同,但是通常会提供一组事实上的功能。

最常见的控制台方法

  1. console.log(): 用于日志信息的常规输出
  2. console.info(): 信息记录
  3. console.debug(): 使用日志级别调试将消息输出到控制台
  4. console.warn(): 输出警告消息
  5. console.error(): 输入错误消息 常见的控制台方法

自定义console.log()的CSS样式

console.log输出可以使用CSS格式说明DevTools样式

console.log('%c 这个消息的样式变了', 'color: white; font-size: 2em; background: teal');

字符串转换

%s- string
%i%d- integer
%o%0- object
%f-float

for (let i = 0; i <= 3; i++) {
    console.log('你好%s,我给你打了 %d次招呼。', '吴阳', i+1);
}

字符转换

console.assert()

如果第一个参数为 false,则在控制台输出信息。

console.assert(document.getElementById("demo"), "没有 ID 为 'demo' 的元素");

console.assert()

console.count()

记录 count() 调用次数,并输出到控制台。
可以添加标签。console.count() 每次调用,如果标签一样数字会增加 1,如果不一样则重新开始计数。

for (i = 0; i < 10; i++) {
    if(i%2) {
        console.count('odd');
    } else {
        console.count('even');
    }
}

console.dir()

在控制台中显示指定JavaScript对象的属性,并通过类似文件树样式的交互列表显示。(🧐注:该特性是非标准的,请尽量不要在生产环境中使用它!)

const people = {
    name: '吴阳',
    handle: '@wuyang'
}
console.dir(people);

console.dir()

console.group() 和 console.groupEnd()

创建一个新的内联 group, 后续所有打印内容将会以子层级的形式展示。调用 groupEnd()来闭合组。

console.group(label)

label是可选的,用来给信息分组设置标签。

console.log("Runoob");
console.group("label1");
console.log("我在label1分组里。");
console.group('label2');
console.log("我在label2分组里。");
console.groupEnd();
console.groupCollapsed('label3');
console.log("我在label3分组里。这个分组现在是折叠的");
console.groupEnd();
console.log("我在label1分组里。");
console.groupEnd();

console.table()

console.table() 会把所有元素罗列在每一列,你可以使用 columns 参数选择要显示的列的子集:

function Person(firstName, lastName) {
  this.firstName = firstName;
  this.lastName = lastName;
}

var john = new Person("John", "Smith");
var jane = new Person("Jane", "Doe");
var emily = new Person("Emily", "Jones");

console.table([john, jane, emily], ["firstName"]);

先就这些😁。

参考链接