console.log()是web开发人员工作中的好朋友。但是你知道控制台包含的不仅仅是console.log()吗?这篇文章要讨论的就是JavaScript中的控制台。
1 w; \" s' C, X8 u( n6 [4 l0 i! h 简介
# B8 R/ ^6 E3 B! l Web控制台是一个工具,主要用于记录与网页相关的信息,例如:网络请求、JavaScript安全错误、警告、CSS等。它使我们能够通过在网页内容中执行JavaScript表达式来与网页交互。
5 y$ H6 M+ f h$ }5 q3 q% N 控制台的类型
7 c# h- I/ w8 y2 J8 |$ k7 k console.log() console.error() console.warn() console.clear() console.time() console.table() console.count() console.group()7 t1 Y8 C& p# [- x
1. console.log() ' |- l: v+ i) U4 N9 _
主要用于将输出信息打印到控制台。log()中可以放入任何类型,无论是强类型、数组、对象、还是布尔值等。0 q, N1 w* O+ j9 f1 F, n* `
//console.log() method
console.log('string')
console.log(800)
console.log(true)
console.log(null)
console.log(undefined)
console.log({a:1, b:2}) // object inside log()
console.log([1,2,3,4]) // array inside log()
: f2 B* `" x1 r1 g5 l% k 2. console.error() / b4 f5 I7 E+ h3 w
此方法用于将错误消息记录到控制台。在测试代码时很有用。默认情况下,错误消息将突出显示为红色。
" u# c* S. P' X; R4 v' z1 n // console.error() method
console.error('This is a sample Error')
- q! h; s3 U# ~- T
3. console.warn()
+ ^* ]4 D. p( g 用于将警告消息记录到控制台。默认情况下,警告消息将突出显示为黄色。
7 Q( i. R! E1 M- E6 \$ u8 i7 L // console.warn() method
console.warn('This is a sample Warning')
7 v4 Z5 g( f L) K- }! l
4. console.clear() 7 w; v$ n7 W2 ?8 V8 b; ]. L6 U
用于清除控制台信息。清除控制台时,如果是基于Chromium的浏览器,将打印一个简单的叠加文本,如下面的截图所示“Console was cleared”,而在Firefox中,则不会返回任何消息。 X6 W( f; }& @& z; O
// console.clear() method
console.clear()
- g" y" u' T# Y3 J( n
5. console.time()和console.timeEnd() 6 M$ R) ?5 U, B/ V8 D. |8 v5 }
无论何时我们想知道一段代码或一个函数所需要花费的时间,都可以使用JavaScript控制台对象提供的time()和timeEnd()方法。关键是要有一个必须相同的标签,而里面的代码可以是任何东西(函数、对象、甚至直接console.log()都可以)。+ [( S: B' m# g% ?7 P, v
// console.time() and console.timeEnd() method
// console.time() method
console.time("Let's see time console")
let time1 = function(){
console.log('time1 function is running')
}
let time2 = function(){
console.log('time2 function is running')
}
time1()
time2()
// console.timeEnd() method
console.timeEnd('Time Taken')
) W5 Q/ ~) x' e- U9 ^, `6 ]4 j
6. console.table() {4 |1 v$ ^* r7 F. H7 x
这个方法允许我们在控制台中生成表格。输入数据必须是数组或显示为表格的对象。
) B, C: z" i8 [; c( G9 Q6 Y' Y! Y- u // console.table() method
console.table({a:1, b:2, c:3, d:4, e:5})
+ U7 T4 c& G G) n 7. console.count() 1 s. M7 ~' W8 {
这个方法在调用时会将数字(调用次数)写入到控制台。
3 Z$ Q& B/ D3 g // console.count() method
console.log('This is a sample count')
for(let i=0; i<10; i++){
console.count('This is iteration number', i)
}
) X1 y: {2 y; K, a) e" ~# G
8. console.group()和console.groupEnd()
% j& W& r. A0 t; V- P7 p( w 控制台对象的group()和groupEnd()方法允许我们将内容分组到单独的代码块中,并且这些代码块将缩进。和time()和timeEnd()一样,它们也接受值相同的标签。
9 `9 x7 [9 P( b+ n8 E8 k // console.group() and console.groupEnd() method
// console.group() method
console.group('This is a sample group')
console.log('This is a sample group log')
console.warn('This is a sample group warning')
console.error('This is a sample group error')
// console.groupEnd() method
console.groupEnd('This is a sample group')
console.log('This is a new section')
5 x5 t: Y& y N+ n0 ~. E