0%

browser-console

Console妙用知多少?

平时我们使用console的时候,基本都是console.log(xxx), 其实console的用途不只是打log,今天我们来看看console的其他用法。

1
2
3
console.log(xxx); // print log
console.warn(xxx); // print warning
console.error(xxx); // print error

1. console.time

console.timeconsole.timeEnd 可以用来计算代码执行时间,用法如下:

1
2
3
4
5
console.time('my-timer');
for (let i = 0; i < 1000000; i++) {
// do something
}
console.timeEnd('my-timer');

如果在代码执行中打印阶段性时间,可以使用console.timeLog

1
2
3
4
5
6
7
console.time('my-timer');
for (let i = 0; i < 1000000; i++) {
if (i % 100000 === 0) {
console.timeLog('my-timer', i);
}
}
console.timeEnd('my-timer');

2. console.table

console.table 可以将数组或对象以表格形式打印出来,用法如下:

1
2
3
4
5
6
const data = [
{ name: 'Alice', age: 18 },
{ name: 'Bob', age: 20 },
{ name: 'Cathy', age: 22 },
];
console.table(data);

3. console.assert

console.assert 可以用来断言某个条件是否为真,如果为假,则输出错误信息,用法如下:

1
console.assert(1 === 2, '1 is not equal to 2');

输出结果如下:

VM479:1 Assertion failed: 1 is not equal to 2

4. console.count

console.count 可以用来统计某个函数被调用的次数,用法如下:

1
2
3
4
5
6
7
8
9
function greet(user) {
console.count();
return `hi ${user}`;
}

greet("bob");
greet("alice");
greet();
console.count();

输出结果如下:

1
2
3
4
default: 1
default: 2
default: 3
default: 4

5. console.group

console.groupconsole.groupEnd 可以用来将输出的内容分组,用法如下:

1
2
3
4
console.group('group1');
console.log('hello');
console.log('world');
console.groupEnd();

6. console.dir

console.dir 可以用来打印对象的属性,用法如下:

1
2
const obj = { name: 'Alice', age: 18 };
console.dir(obj);

7. console.clear

console.clear 可以用来清空控制台,用法如下:

1
console.clear();

8. console.trace

console.trace 可以用来打印当前调用栈,用法如下:

1
2
3
function foo() {
console.trace();
}