console.log()是web开发人员工作中的好朋友。但是你知道控制台包含的不仅仅是console.log()吗?这篇文章要讨论的就是JavaScript中的控制台。. M# _- t: z$ Z
简介
# b# J7 z" o! G4 h7 m) n, n$ T4 { Web控制台是一个工具,主要用于记录与网页相关的信息,例如:网络请求、JavaScript安全错误、警告、CSS等。它使我们能够通过在网页内容中执行JavaScript表达式来与网页交互。7 ^2 c5 i% [4 P' Q! E: u
控制台的类型
" x: ^' N: V7 o0 b+ [# }( L console.log() console.error() console.warn() console.clear() console.time() console.table() console.count() console.group()
/ M, j' V l4 z8 C 1. console.log() ; `8 p ~$ a Y3 P/ ?; v" o
主要用于将输出信息打印到控制台。log()中可以放入任何类型,无论是强类型、数组、对象、还是布尔值等。. T. O+ o5 O/ N8 R$ K' z3 E5 [
//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()
* }; r3 R' V2 q 2. console.error() / \9 e- N% N7 r
此方法用于将错误消息记录到控制台。在测试代码时很有用。默认情况下,错误消息将突出显示为红色。
- A, Z5 C a9 Z // console.error() method
console.error('This is a sample Error')
. j$ f/ k( U7 M7 X- L7 g8 f
3. console.warn() 8 I7 R0 l7 b M, m5 M6 s
用于将警告消息记录到控制台。默认情况下,警告消息将突出显示为黄色。* ^2 E2 Q* S% y- V0 ~& C7 X) W
// console.warn() method
console.warn('This is a sample Warning')
6 d/ w! H* \' Z+ }# C" H
4. console.clear()
- t% K* N$ I" {" S- m3 I- b 用于清除控制台信息。清除控制台时,如果是基于Chromium的浏览器,将打印一个简单的叠加文本,如下面的截图所示“Console was cleared”,而在Firefox中,则不会返回任何消息。3 t2 w$ y0 ~: Q( `7 R: Z; V
// console.clear() method
console.clear()
, c8 T# k& Z2 e4 b2 }/ X% \3 H, O
5. console.time()和console.timeEnd() . G. m: O* K# T& u) S0 R. r2 q- |1 r
无论何时我们想知道一段代码或一个函数所需要花费的时间,都可以使用JavaScript控制台对象提供的time()和timeEnd()方法。关键是要有一个必须相同的标签,而里面的代码可以是任何东西(函数、对象、甚至直接console.log()都可以)。
2 k( F H7 ?6 d- i# \7 J$ n. U // 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')
5 M0 S0 Q; p4 E3 }$ c8 {# D
6. console.table()
A+ H* J1 H0 h+ r% {, D 这个方法允许我们在控制台中生成表格。输入数据必须是数组或显示为表格的对象。
- \8 E7 [) W* H+ o5 Q( q // console.table() method
console.table({a:1, b:2, c:3, d:4, e:5})
! \ _! I) F9 N# h
7. console.count()
6 D5 Y% i6 x# i$ i 这个方法在调用时会将数字(调用次数)写入到控制台。
# B$ p* M/ F- @ // console.count() method
console.log('This is a sample count')
for(let i=0; i<10; i++){
console.count('This is iteration number', i)
}
; g9 g4 |7 `4 i% O. y e# I5 w 8. console.group()和console.groupEnd()
0 ]4 e, r4 b4 g4 E, c 控制台对象的group()和groupEnd()方法允许我们将内容分组到单独的代码块中,并且这些代码块将缩进。和time()和timeEnd()一样,它们也接受值相同的标签。
% Q1 j1 p- @3 m0 s* ^) f // 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 M- S- B- d3 C) ~) E