console.log()是web开发人员工作中的好朋友。但是你知道控制台包含的不仅仅是console.log()吗?这篇文章要讨论的就是JavaScript中的控制台。
: W& `7 G1 w. h& Q$ c5 s! ?4 N 简介 + H% l( i: h1 p7 Q: H. k2 C; j/ D" M% o
Web控制台是一个工具,主要用于记录与网页相关的信息,例如:网络请求、JavaScript安全错误、警告、CSS等。它使我们能够通过在网页内容中执行JavaScript表达式来与网页交互。2 j7 M1 m4 `9 l+ P0 P2 p
控制台的类型
: e$ f* V. k% H: V console.log() console.error() console.warn() console.clear() console.time() console.table() console.count() console.group()
4 b: M, V) p- x7 f) o/ t$ s 1. console.log() ( E5 Q7 y, w# ~+ K, O5 F; @0 t. w/ g. O
主要用于将输出信息打印到控制台。log()中可以放入任何类型,无论是强类型、数组、对象、还是布尔值等。9 c* j! [% A- m& v5 @' U1 b0 y
//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()
$ c- t' v2 H- |" u: h1 j- j' p3 F
2. console.error() ' }8 w6 ^4 {$ x, N6 v+ i" _ K; F
此方法用于将错误消息记录到控制台。在测试代码时很有用。默认情况下,错误消息将突出显示为红色。% m8 L0 l$ [* Y$ |0 K L1 G
// console.error() method
console.error('This is a sample Error')
6 V' d3 ?7 I+ j' R( S8 [" D" l( k
3. console.warn()
8 e: i+ Y2 U: e9 _! g* [" p/ b& z1 ~ 用于将警告消息记录到控制台。默认情况下,警告消息将突出显示为黄色。/ \5 F+ l' V9 G" v7 ?7 a9 ~5 U0 a! a
// console.warn() method
console.warn('This is a sample Warning')
8 \( o7 ?3 U8 E. k, | 4. console.clear()
' k) |, x9 Y5 D7 ^1 @; n) C4 P" G. V 用于清除控制台信息。清除控制台时,如果是基于Chromium的浏览器,将打印一个简单的叠加文本,如下面的截图所示“Console was cleared”,而在Firefox中,则不会返回任何消息。5 Z1 E2 H/ y8 V6 v k
// console.clear() method
console.clear()
( A7 P7 t' Y- i5 ?8 r, h' ~0 b2 _
5. console.time()和console.timeEnd() 2 Z0 e) o) P' P
无论何时我们想知道一段代码或一个函数所需要花费的时间,都可以使用JavaScript控制台对象提供的time()和timeEnd()方法。关键是要有一个必须相同的标签,而里面的代码可以是任何东西(函数、对象、甚至直接console.log()都可以)。
, k2 |3 M& A7 [6 |* |; T* 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')
/ H0 y0 T& T" a
6. console.table()
$ ]. x; H2 W1 p `5 }5 E! c5 I 这个方法允许我们在控制台中生成表格。输入数据必须是数组或显示为表格的对象。- r" B! e; K, V! |
// console.table() method
console.table({a:1, b:2, c:3, d:4, e:5})
; A( a* `+ p& z, _/ N9 l1 o
7. console.count()
- ^6 H; v1 [ {& C7 C 这个方法在调用时会将数字(调用次数)写入到控制台。
, U& ]% g: ?$ H3 r // console.count() method
console.log('This is a sample count')
for(let i=0; i<10; i++){
console.count('This is iteration number', i)
}
: y" S+ r) R/ g( P& D 8. console.group()和console.groupEnd() 1 p' c. j G1 w8 F. A2 h
控制台对象的group()和groupEnd()方法允许我们将内容分组到单独的代码块中,并且这些代码块将缩进。和time()和timeEnd()一样,它们也接受值相同的标签。
* h+ f# H. b( u/ [8 w) 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')
; g1 u3 E4 U; J% x+ K1 a2 q