console.log()是web开发人员工作中的好朋友。但是你知道控制台包含的不仅仅是console.log()吗?这篇文章要讨论的就是JavaScript中的控制台。
4 v' }6 `" h3 a( S# { 简介 4 N) D+ U6 H% V! U: ]
Web控制台是一个工具,主要用于记录与网页相关的信息,例如:网络请求、JavaScript安全错误、警告、CSS等。它使我们能够通过在网页内容中执行JavaScript表达式来与网页交互。
/ e5 w- X( F2 `% B+ a/ }8 j9 D- t 控制台的类型- F" J. n. J0 x$ j: e
console.log() console.error() console.warn() console.clear() console.time() console.table() console.count() console.group()0 I7 w( n9 a% s7 s
1. console.log() * ~3 O, ]2 U% S6 [& r2 |5 N
主要用于将输出信息打印到控制台。log()中可以放入任何类型,无论是强类型、数组、对象、还是布尔值等。
* C! w& O$ S) U8 T; L) J //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()
/ u# Z: g! g" v# z( f' ?. O 2. console.error() 0 p1 i4 d6 N1 Q; N" R/ {
此方法用于将错误消息记录到控制台。在测试代码时很有用。默认情况下,错误消息将突出显示为红色。: v3 {9 d) r' g; F2 |2 w
// console.error() method
console.error('This is a sample Error')
! R, v( ~/ B4 | 3. console.warn() . v2 c, H/ T9 P$ R0 A
用于将警告消息记录到控制台。默认情况下,警告消息将突出显示为黄色。0 ? \) k% m+ P5 b2 {" |5 s0 Q; K
// console.warn() method
console.warn('This is a sample Warning')
p* [9 z- q4 I( n
4. console.clear()
& W* p: J' T6 F5 |, k 用于清除控制台信息。清除控制台时,如果是基于Chromium的浏览器,将打印一个简单的叠加文本,如下面的截图所示“Console was cleared”,而在Firefox中,则不会返回任何消息。% J/ @$ t1 c+ }
// console.clear() method
console.clear()
; S' G* @4 h5 A0 }- Q# p$ I% Y
5. console.time()和console.timeEnd() 9 U) E. f N5 d7 ^6 L0 t" J6 ?
无论何时我们想知道一段代码或一个函数所需要花费的时间,都可以使用JavaScript控制台对象提供的time()和timeEnd()方法。关键是要有一个必须相同的标签,而里面的代码可以是任何东西(函数、对象、甚至直接console.log()都可以)。
! M8 R* ^+ x" i( M8 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')
/ M5 L- ?! a4 z2 Z; b% z% @
6. console.table() $ {' y' \# m" [( z, @
这个方法允许我们在控制台中生成表格。输入数据必须是数组或显示为表格的对象。+ I1 t+ \0 G, {, ^$ K
// console.table() method
console.table({a:1, b:2, c:3, d:4, e:5})
0 E8 w- o. P. d0 ]- L, `, R$ T
7. console.count() 4 ~( b/ G7 v$ u z( n. Y
这个方法在调用时会将数字(调用次数)写入到控制台。
$ I* E( ^! Z& ^: f2 x // console.count() method
console.log('This is a sample count')
for(let i=0; i<10; i++){
console.count('This is iteration number', i)
}
6 n" N9 m' p, W* \1 S+ C& k
8. console.group()和console.groupEnd() $ s/ u# t+ g; p+ Z- u2 C# ^
控制台对象的group()和groupEnd()方法允许我们将内容分组到单独的代码块中,并且这些代码块将缩进。和time()和timeEnd()一样,它们也接受值相同的标签。4 C0 X8 `7 I8 ~2 [
// 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')
3 D: Q7 g& L, j" p( m, j$ X