console.log()是web开发人员工作中的好朋友。但是你知道控制台包含的不仅仅是console.log()吗?这篇文章要讨论的就是JavaScript中的控制台。
3 [1 c! L4 N9 b1 }9 g: X- x' D 简介 8 P# f" r- L5 A6 i- D& c
Web控制台是一个工具,主要用于记录与网页相关的信息,例如:网络请求、JavaScript安全错误、警告、CSS等。它使我们能够通过在网页内容中执行JavaScript表达式来与网页交互。7 a' c% L1 C6 `: h+ ^
控制台的类型
: K5 s0 }' X0 F! _ console.log() console.error() console.warn() console.clear() console.time() console.table() console.count() console.group()# o: a& _! Y% f9 ~
1. console.log() 1 M) x. S7 h0 I" G4 g/ |, j" K* f
主要用于将输出信息打印到控制台。log()中可以放入任何类型,无论是强类型、数组、对象、还是布尔值等。 `% X$ {, `6 A% I
//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()
# H: Q D; D J, G( m& L* V X" i* [ 2. console.error() 8 r4 r, M/ a& T$ H3 @
此方法用于将错误消息记录到控制台。在测试代码时很有用。默认情况下,错误消息将突出显示为红色。5 m# `* m) Y" t+ P1 j
// console.error() method
console.error('This is a sample Error')
4 x/ G6 w7 q3 N1 e; Q- o9 Z
3. console.warn()
# t! a5 Z. p+ J9 K 用于将警告消息记录到控制台。默认情况下,警告消息将突出显示为黄色。
( P* P+ f7 s2 N! k. P* j! i // console.warn() method
console.warn('This is a sample Warning')
# r( ?6 i; H0 C2 Z7 |; I
4. console.clear() 3 ~* g9 y9 m+ ?- |
用于清除控制台信息。清除控制台时,如果是基于Chromium的浏览器,将打印一个简单的叠加文本,如下面的截图所示“Console was cleared”,而在Firefox中,则不会返回任何消息。
: |! S8 \* \5 U, q. f4 A' B // console.clear() method
console.clear()
$ N! _4 h; b& g! ?
5. console.time()和console.timeEnd()
) z- V: p7 `. f1 @, A+ y+ F& P 无论何时我们想知道一段代码或一个函数所需要花费的时间,都可以使用JavaScript控制台对象提供的time()和timeEnd()方法。关键是要有一个必须相同的标签,而里面的代码可以是任何东西(函数、对象、甚至直接console.log()都可以)。4 l' S+ P8 q9 q( N( @( f3 ^3 m
// 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')
6 k( X$ ?$ ]( ?) G1 z! U6 R; o
6. console.table()
9 W) X" r2 a1 C 这个方法允许我们在控制台中生成表格。输入数据必须是数组或显示为表格的对象。" ~, v2 z$ j6 _2 ?* b
// console.table() method
console.table({a:1, b:2, c:3, d:4, e:5})
; }+ f- Z( v! w- z& ~
7. console.count()
: }; J/ {% w, ?, \0 d8 W 这个方法在调用时会将数字(调用次数)写入到控制台。1 k6 B- z) A1 [( R# J6 @2 L
// console.count() method
console.log('This is a sample count')
for(let i=0; i<10; i++){
console.count('This is iteration number', i)
}
* e& J8 [5 F% t+ c+ v0 f6 B7 T
8. console.group()和console.groupEnd()
% O9 x* E3 p0 V 控制台对象的group()和groupEnd()方法允许我们将内容分组到单独的代码块中,并且这些代码块将缩进。和time()和timeEnd()一样,它们也接受值相同的标签。
& w2 J5 X. X1 c& R6 { // 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')
8 V$ V, R; o) l3 K( \