console.log()是web开发人员工作中的好朋友。但是你知道控制台包含的不仅仅是console.log()吗?这篇文章要讨论的就是JavaScript中的控制台。: C/ R. V% ]2 I9 X. J5 H- _) ]
简介
& a7 U; `" B* U" H2 }: \Web控制台是一个工具,主要用于记录与网页相关的信息,例如:网络请求、JavaScript安全错误、警告、CSS等。它使我们能够通过在网页内容中执行JavaScript表达式来与网页交互。
; [) O3 c5 F/ f. M! Y控制台的类型( R) F4 w: p! e( _1 b
- console.log()
- console.error()
- console.warn()
- console.clear()
- console.time()
- console.table()
- console.count()
- console.group()
8 E+ W/ t4 A" J5 M 1. console.log()
/ d! c5 f: C- P: F( a* E主要用于将输出信息打印到控制台。log()中可以放入任何类型,无论是强类型、数组、对象、还是布尔值等。
0 D7 a! c) Q0 j1 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()
, U5 R. G) t' z( u) ~2. console.error()
0 s. I0 d- Z1 e4 i& O此方法用于将错误消息记录到控制台。在测试代码时很有用。默认情况下,错误消息将突出显示为红色。1 S- v9 N4 X% L: T9 m# x
- // console.error() method
- console.error('This is a sample Error')
9 M+ F1 e$ w$ r @8 ]$ y7 @
3. console.warn()+ w9 u( D0 y; q; q y0 t& w; g
用于将警告消息记录到控制台。默认情况下,警告消息将突出显示为黄色。( F( U0 ?% r0 s# ^4 I5 P
- // console.warn() method
- console.warn('This is a sample Warning')
6 E% b5 F+ g9 H: _7 K( H
4. console.clear()& B1 J$ x7 F E6 p
用于清除控制台信息。清除控制台时,如果是基于Chromium的浏览器,将打印一个简单的叠加文本,如下面的截图所示“Console was cleared”,而在Firefox中,则不会返回任何消息。! |- C- k" t# s0 I% i4 h9 r
- // console.clear() method
- console.clear()
0 R' V3 O7 R' ?* j7 p& G: B
5. console.time()和console.timeEnd()
$ G0 y' p4 M2 H2 c6 X$ q2 y" ~无论何时我们想知道一段代码或一个函数所需要花费的时间,都可以使用JavaScript控制台对象提供的time()和timeEnd()方法。关键是要有一个必须相同的标签,而里面的代码可以是任何东西(函数、对象、甚至直接console.log()都可以)。
, F0 }8 e- M4 Y7 S# B5 e- // 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')
. n7 C/ m! w/ A3 A6 T' J
6. console.table()
+ D- N% b y; |0 E+ h) t这个方法允许我们在控制台中生成表格。输入数据必须是数组或显示为表格的对象。# w8 M/ N0 e: I5 l& ~
- // console.table() method
- console.table({a:1, b:2, c:3, d:4, e:5})
$ S% D6 A+ I3 o( \ M2 A) ] ?7. console.count()
7 i5 q" a+ s$ p& p7 P& q3 ]这个方法在调用时会将数字(调用次数)写入到控制台。8 y" N) c. Z& `' G6 S! I
- // console.count() method
- console.log('This is a sample count')
- for(let i=0; i<10; i++){
- console.count('This is iteration number', i)
- }
. [5 O% i% k. k- t2 o5 W8. console.group()和console.groupEnd()
1 l% p7 [$ c% b. `6 D8 o ^1 g) l# I控制台对象的group()和groupEnd()方法允许我们将内容分组到单独的代码块中,并且这些代码块将缩进。和time()和timeEnd()一样,它们也接受值相同的标签。5 o# Z. @7 @, N- D4 x
- // 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')
7 s# C( S" d' r7 c1 B- ^/ V5 | |