Chrome 控制台调试打印之 console 花式调试大全

作者: tww844475003 分类: 前端开发 发布时间: 2021-09-26 19:53

输出信息

console.log('默认消息!')
console.info('提示消息!')
console.error('错误消息!')
console.warn('警告消息!')

数据表格式化 – table

const data = [
  {
    id: 1,
    name: 'Node',
    description: 'node.js'
  },
  {
    id: 2,
    name: 'React',
    description: 'react.js'
  },
  {
    id: 3,
    name: 'Vue',
    description: 'vue.js'
  },
  {
    id: 4,
    name: 'Angular',
    description: 'angular.js'
  }
]
console.table(data)

代码执行时间

console.time('统计时间');
let count = 0;
for (let i = 0; i < 999999999; i++) {
  count++;
}
console.timeEnd('统计时间');

Output:统计时间: 1997.586181640625 ms

信息分组输出

console.group('前端');
console.log('前端-react.js');
console.log('前端-vue.js');
console.log('前端-angular.js');
console.groupEnd();

console.group('后端');
console.log('后端-java');
console.log('后端-python');
console.log('后端-php');
console.groupEnd();

console.groupCollapsed(label)

该函数同console.group(),唯一的区别是该函数的输出默认不展开分组,而console.group()是默认展开分组。

代码执行次数

function countFn() {
  console.count('当前执行的次数');
}
countFn();
countFn();
countFn();
countFn();
countFn();

按条件断言输出

const flag = false;
console.assert(flag, '当 flag 为 false 时才输出!');

对象以树状结构输出

const obj = {
  node: 'node.js',
  react: 'react.js',
  vue: 'vue.js',
  angular: 'angular.js'
}
console.dir(obj);

展示节点信息

console.dirxml($('.el-dialog__wrapper'));

占位符

console.log("%d年%d月%d日", 2016, 8, 22); // console支持的占位符有:字符(%s)、整数(%d或%i)、浮点数(%f)和对象(%o)
console.log("%s年",2016);//%s表示字符串
console.log("%d年%d月",2016,11);//%d表示整数
console.log("%f",3.1415926);//%f小数
console.log("%o",console);//%o表示对象
console.log("%c自定义样式","font-size:30px;color:#00f");
console.log("%c我是%c自定义样式","font-size:20px;color:green","font-size:10px;color:red");

console.trace()

该函数将在控制台打印出从 console.trace() 被调用的位置开始的堆栈信息。

function doTask() {
  doSubTask(1000, 10000);
}

function doSubTask(countX, countY) {
  for (var i = 0; i < countX; i++) {
    for (var j = 0; j < countY; j++) { }
  }
  console.trace();
}
doTask();

模拟 loading 动画

function print(len) {
  let oldStr = '';
  for (let i = 0; i < len; i++) {
    setTimeout(() => {
      oldStr = oldStr + ' ';
      console.log(oldStr + '%c...', 'color:green;font-size:20px');
      _.delay(() => { console.clear(); }, 500)
    }, 700 * i);
  }
}

print(10);

copy

通过此命令可以将在控制台获取到的内容复制到剪贴板。

copy(document.body)

前端开发那点事
微信公众号搜索“前端开发那点事”

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注