console.log()是web开发人员工作中的好朋友。但是你知道控制台包含的不仅仅是console.log()吗?这篇文章要讨论的就是JavaScript中的控制台。3 i% Y. M1 D7 q+ {( Q; y4 L
简介 . A$ f/ V4 n6 Y: G# Y2 |
Web控制台是一个工具,主要用于记录与网页相关的信息,例如:网络请求、JavaScript安全错误、警告、CSS等。它使我们能够通过在网页内容中执行JavaScript表达式来与网页交互。
, H1 k: z. [8 M4 h$ U$ y 控制台的类型/ n, J& H8 z+ N- q5 v
console.log() console.error() console.warn() console.clear() console.time() console.table() console.count() console.group()
1 p# Y. _7 n: h4 [3 o 1. console.log() 5 n% b; K+ b7 @- f
主要用于将输出信息打印到控制台。log()中可以放入任何类型,无论是强类型、数组、对象、还是布尔值等。* X3 u8 {% l+ [" m/ h
//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()
$ @8 F7 H9 O% C% u, L
2. console.error() ; i [7 k+ o3 j+ I+ ]$ `4 v4 t
此方法用于将错误消息记录到控制台。在测试代码时很有用。默认情况下,错误消息将突出显示为红色。) ?- y5 Y, N+ }& t" L L: y& C' V. ]7 _
// console.error() method
console.error('This is a sample Error')
' ~" g. C9 P4 E9 v 3. console.warn() 2 Q0 Q" x6 Q' E7 ]! G
用于将警告消息记录到控制台。默认情况下,警告消息将突出显示为黄色。
& u) y+ t/ R7 }" ]& e // console.warn() method
console.warn('This is a sample Warning')
' ]3 s4 t$ D# r) @3 i4 L( L
4. console.clear() ' u+ n7 Z$ \4 v# [
用于清除控制台信息。清除控制台时,如果是基于Chromium的浏览器,将打印一个简单的叠加文本,如下面的截图所示“Console was cleared”,而在Firefox中,则不会返回任何消息。
, S) i' \1 q9 H+ H1 y' f2 Q // console.clear() method
console.clear()
, J: w9 H3 I/ V5 O 5. console.time()和console.timeEnd()
! w2 b/ w2 q7 b0 T n 无论何时我们想知道一段代码或一个函数所需要花费的时间,都可以使用JavaScript控制台对象提供的time()和timeEnd()方法。关键是要有一个必须相同的标签,而里面的代码可以是任何东西(函数、对象、甚至直接console.log()都可以)。
m. L) u6 b5 I // 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')
8 d2 `$ L, g: w9 b: U/ j! h$ ? 6. console.table() 0 Y# o7 M1 ^6 M( C, R4 F
这个方法允许我们在控制台中生成表格。输入数据必须是数组或显示为表格的对象。# @7 `; R/ Z: ?9 w- X$ _- \
// console.table() method
console.table({a:1, b:2, c:3, d:4, e:5})
' N6 A/ J4 b$ a: K% [5 a- E7 @6 Q
7. console.count()
# X! B7 z. I- F3 x" D+ z& c 这个方法在调用时会将数字(调用次数)写入到控制台。6 R" T3 b% }/ N: F5 \$ p% U
// 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 l+ A+ \" I% m3 K: @, l8 M
8. console.group()和console.groupEnd() 6 M N7 a# K* t* K. I) @
控制台对象的group()和groupEnd()方法允许我们将内容分组到单独的代码块中,并且这些代码块将缩进。和time()和timeEnd()一样,它们也接受值相同的标签。
$ e- R+ S. H( P5 t! S. l# d // 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')
2 p$ n- ]+ U; a/ X# }, K