console.log()是web开发人员工作中的好朋友。但是你知道控制台包含的不仅仅是console.log()吗?这篇文章要讨论的就是JavaScript中的控制台。
9 Z% M7 G, `) `# S8 L# |% n0 Q+ s( S 简介 # m! @( w. v: ^5 F
Web控制台是一个工具,主要用于记录与网页相关的信息,例如:网络请求、JavaScript安全错误、警告、CSS等。它使我们能够通过在网页内容中执行JavaScript表达式来与网页交互。7 Q0 ?% b9 V6 J$ P. Y J; C! b
控制台的类型
0 Y9 {5 g5 ?$ ~- w( T console.log() console.error() console.warn() console.clear() console.time() console.table() console.count() console.group()7 x9 H2 z) q1 p' o& S" ], P
1. console.log() . A) l% |; P6 S3 U0 o z6 _- N( c/ V
主要用于将输出信息打印到控制台。log()中可以放入任何类型,无论是强类型、数组、对象、还是布尔值等。
0 n0 {4 Z+ \) E9 P, i- T" s j //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()
, i- V3 J* z* d: P- ^& ?! }
2. console.error() 5 H8 x h; \/ P& n
此方法用于将错误消息记录到控制台。在测试代码时很有用。默认情况下,错误消息将突出显示为红色。8 o$ l1 d0 \& D5 ?3 U! Z
// console.error() method
console.error('This is a sample Error')
4 q% i6 o6 |5 ~+ B) u2 F8 B
3. console.warn()
$ m' B% _6 C3 m N* O$ x9 l( o: K, c 用于将警告消息记录到控制台。默认情况下,警告消息将突出显示为黄色。
% z5 X" [4 I9 g6 z // console.warn() method
console.warn('This is a sample Warning')
' J% k$ E# w* Y8 U# m% u" |0 p0 q 4. console.clear()
& \+ G) i) }( _8 R4 j+ Y; r 用于清除控制台信息。清除控制台时,如果是基于Chromium的浏览器,将打印一个简单的叠加文本,如下面的截图所示“Console was cleared”,而在Firefox中,则不会返回任何消息。, S) L* G; O1 V- _5 ~# O
// console.clear() method
console.clear()
6 F/ f! Z2 F! k$ T 5. console.time()和console.timeEnd()
8 r, [: N$ @2 q/ f$ x 无论何时我们想知道一段代码或一个函数所需要花费的时间,都可以使用JavaScript控制台对象提供的time()和timeEnd()方法。关键是要有一个必须相同的标签,而里面的代码可以是任何东西(函数、对象、甚至直接console.log()都可以)。! \6 a" g( I( G
// 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')
$ M$ O+ x2 L; _: G, M0 ?9 h 6. console.table() $ ^& g6 b. Q' V; j
这个方法允许我们在控制台中生成表格。输入数据必须是数组或显示为表格的对象。8 c3 C( r9 v% t; `. v" ~( R3 j
// console.table() method
console.table({a:1, b:2, c:3, d:4, e:5})
: C5 l+ Y2 o' [- Q& L( }. P; L 7. console.count()
- \, c. ^" S; U% a1 c 这个方法在调用时会将数字(调用次数)写入到控制台。$ f( W/ p, i2 H+ ~# U6 t( O
// console.count() method
console.log('This is a sample count')
for(let i=0; i<10; i++){
console.count('This is iteration number', i)
}
- X( K. k* B+ c6 d% B8 z" _ 8. console.group()和console.groupEnd() 9 {1 `* @9 t* y' X! z( I; }. ~
控制台对象的group()和groupEnd()方法允许我们将内容分组到单独的代码块中,并且这些代码块将缩进。和time()和timeEnd()一样,它们也接受值相同的标签。3 X. y0 V% T- t( x. l; ~
// 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')
, r* @5 r! Y& W; c7 A: M0 j) E# ^4 h