console.log()是web开发人员工作中的好朋友。但是你知道控制台包含的不仅仅是console.log()吗?这篇文章要讨论的就是JavaScript中的控制台。
0 r$ v* m. t; j) k/ i5 H# }4 D; D* q 简介 3 j3 X; j0 ]8 W( P# y5 F5 {
Web控制台是一个工具,主要用于记录与网页相关的信息,例如:网络请求、JavaScript安全错误、警告、CSS等。它使我们能够通过在网页内容中执行JavaScript表达式来与网页交互。% B( n6 H( H3 r# d
控制台的类型
M* i2 E+ n. E$ t3 n console.log() console.error() console.warn() console.clear() console.time() console.table() console.count() console.group()5 I' B( V/ d+ P1 Y# f) N# a
1. console.log() 0 R I- U' b" m8 k/ L; K) Z
主要用于将输出信息打印到控制台。log()中可以放入任何类型,无论是强类型、数组、对象、还是布尔值等。 L' p( ]# d' i" P0 z, C
//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()
$ [4 S8 W* n# C6 f
2. console.error()
7 A |$ D9 @& o! G/ r5 X# k 此方法用于将错误消息记录到控制台。在测试代码时很有用。默认情况下,错误消息将突出显示为红色。
* ?. ?$ g4 C X: m6 ]1 E# C2 D; t // console.error() method
console.error('This is a sample Error')
- Q, ]3 n; y/ l: t- ~6 O) i% | 3. console.warn() # W# Q6 y0 |8 H0 d( W2 O8 m/ B. `
用于将警告消息记录到控制台。默认情况下,警告消息将突出显示为黄色。$ R8 }' c0 d8 l0 b
// console.warn() method
console.warn('This is a sample Warning')
6 |# s2 v9 C' u2 |. R
4. console.clear()
; P9 E% H& ^$ A& v 用于清除控制台信息。清除控制台时,如果是基于Chromium的浏览器,将打印一个简单的叠加文本,如下面的截图所示“Console was cleared”,而在Firefox中,则不会返回任何消息。- `3 K7 d/ _8 s1 L" v
// console.clear() method
console.clear()
6 c% q/ x1 P7 U2 N$ P) Q 5. console.time()和console.timeEnd()
5 P1 L: F6 \5 j; G3 {6 D ^8 |; f( u8 C8 ~ 无论何时我们想知道一段代码或一个函数所需要花费的时间,都可以使用JavaScript控制台对象提供的time()和timeEnd()方法。关键是要有一个必须相同的标签,而里面的代码可以是任何东西(函数、对象、甚至直接console.log()都可以)。' ?+ K0 T! M3 r* W: ]/ o7 |) H& _' G
// 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')
) ]$ z, N: t- b/ ^* H" z. G 6. console.table() 3 p; u0 e7 ~% c+ Y% R7 ]9 i
这个方法允许我们在控制台中生成表格。输入数据必须是数组或显示为表格的对象。
( E) ^2 N: H' R( Y" }. m9 ? // console.table() method
console.table({a:1, b:2, c:3, d:4, e:5})
( n/ ?" T3 U1 {$ ?
7. console.count()
! N# d; u p9 f9 n& a7 P; d 这个方法在调用时会将数字(调用次数)写入到控制台。
$ O7 f# Q) U8 x2 c // console.count() method
console.log('This is a sample count')
for(let i=0; i<10; i++){
console.count('This is iteration number', i)
}
* `" ~7 M/ \" O3 z# o
8. console.group()和console.groupEnd() # g6 h' Y- L* v* R, M0 Q
控制台对象的group()和groupEnd()方法允许我们将内容分组到单独的代码块中,并且这些代码块将缩进。和time()和timeEnd()一样,它们也接受值相同的标签。
. ^* D- J: B3 d' z6 \& f: n) j // 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')
# C& q7 q9 J2 b8 w8 u' W- t( j9 \( x