console.log()是web开发人员工作中的好朋友。但是你知道控制台包含的不仅仅是console.log()吗?这篇文章要讨论的就是JavaScript中的控制台。) ~% A5 n( z8 L! H& l6 W; `, w2 i
简介
1 C. L9 ]4 T, `) W Web控制台是一个工具,主要用于记录与网页相关的信息,例如:网络请求、JavaScript安全错误、警告、CSS等。它使我们能够通过在网页内容中执行JavaScript表达式来与网页交互。6 W% H2 O( g! _
控制台的类型/ ~% ]5 m' P5 l8 p8 J# @
console.log() console.error() console.warn() console.clear() console.time() console.table() console.count() console.group()
2 k( A3 K! T T* D 1. console.log() 0 L& }7 o: l8 M: Q0 W; }
主要用于将输出信息打印到控制台。log()中可以放入任何类型,无论是强类型、数组、对象、还是布尔值等。
1 I+ c6 q2 W& i8 b) N5 B% }0 m //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()
. @0 e2 P! u+ k
2. console.error()
F( n( |5 h1 g% T, F5 w: h) h 此方法用于将错误消息记录到控制台。在测试代码时很有用。默认情况下,错误消息将突出显示为红色。
7 U3 Z' z' }8 X4 v // console.error() method
console.error('This is a sample Error')
1 C6 e5 y5 T& J: R 3. console.warn()
) _+ m* B( k. j' J4 r2 Q 用于将警告消息记录到控制台。默认情况下,警告消息将突出显示为黄色。- y: y1 r! s2 l) Y- T8 Z
// console.warn() method
console.warn('This is a sample Warning')
5 M* z* q L& F9 o/ W: Q& b5 D
4. console.clear() * [: ?2 p1 O8 x5 ~3 Z7 h6 \2 H/ B
用于清除控制台信息。清除控制台时,如果是基于Chromium的浏览器,将打印一个简单的叠加文本,如下面的截图所示“Console was cleared”,而在Firefox中,则不会返回任何消息。0 K/ T8 Z, p1 t! w6 C/ E
// console.clear() method
console.clear()
; |3 x' C5 m9 [* v" k8 ]& c9 { 5. console.time()和console.timeEnd()
" x" P5 H8 V2 X R( H$ L6 u/ } 无论何时我们想知道一段代码或一个函数所需要花费的时间,都可以使用JavaScript控制台对象提供的time()和timeEnd()方法。关键是要有一个必须相同的标签,而里面的代码可以是任何东西(函数、对象、甚至直接console.log()都可以)。9 u2 z/ U3 }* _% b& U1 j0 _( ]/ t
// 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')
7 t* ~; M' h7 @/ J
6. console.table() ; J! j6 U( [' R7 y* q
这个方法允许我们在控制台中生成表格。输入数据必须是数组或显示为表格的对象。
: s* n; }% p2 W0 ^* Y+ N3 ?, B' E // console.table() method
console.table({a:1, b:2, c:3, d:4, e:5})
; O) S Y ~5 c; e k) t# k
7. console.count()
3 m. w2 T) Z2 w L 这个方法在调用时会将数字(调用次数)写入到控制台。
, T" G9 `4 R! E // 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$ k; t) } 8. console.group()和console.groupEnd() 9 O9 l3 T3 X4 g9 W. G& v4 t6 S8 X
控制台对象的group()和groupEnd()方法允许我们将内容分组到单独的代码块中,并且这些代码块将缩进。和time()和timeEnd()一样,它们也接受值相同的标签。
" m$ N7 A @, D9 ]: _ // 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')
# v |+ |4 i; Z" M( E