console.log()是web开发人员工作中的好朋友。但是你知道控制台包含的不仅仅是console.log()吗?这篇文章要讨论的就是JavaScript中的控制台。( W; N/ M3 {9 ]# T4 @
简介
' O0 U# ]0 _( B3 S, C$ h Web控制台是一个工具,主要用于记录与网页相关的信息,例如:网络请求、JavaScript安全错误、警告、CSS等。它使我们能够通过在网页内容中执行JavaScript表达式来与网页交互。, Y& \) m% J1 | a3 G
控制台的类型
+ R2 S, A2 P# U U7 r+ H console.log() console.error() console.warn() console.clear() console.time() console.table() console.count() console.group()( P- p! V2 f* q' ]: L' w
1. console.log() ! i& O# z' r. h8 C# r2 h7 f# o% Y% s* \ H
主要用于将输出信息打印到控制台。log()中可以放入任何类型,无论是强类型、数组、对象、还是布尔值等。
: ~4 [. j. t) t$ W //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()
9 Q( q8 z9 ~ I+ r 2. console.error()
" B* i/ {3 q% H 此方法用于将错误消息记录到控制台。在测试代码时很有用。默认情况下,错误消息将突出显示为红色。
3 N1 T/ k* ~# S; r- v // console.error() method
console.error('This is a sample Error')
4 V! [& _: p, b1 p+ e9 y+ Q9 z
3. console.warn() 5 A3 a0 q v2 |# H' N
用于将警告消息记录到控制台。默认情况下,警告消息将突出显示为黄色。
% u9 s- P8 X, z& ?5 ~, O // console.warn() method
console.warn('This is a sample Warning')
* f& d0 Q8 V7 t* v0 N( }4 T 4. console.clear()
3 N! o2 J3 J" } u a3 N 用于清除控制台信息。清除控制台时,如果是基于Chromium的浏览器,将打印一个简单的叠加文本,如下面的截图所示“Console was cleared”,而在Firefox中,则不会返回任何消息。' o- b/ ?- w) c: o! m
// console.clear() method
console.clear()
$ D w2 c) i! T) ]. v" ^
5. console.time()和console.timeEnd()
3 _# ?. c/ i) a, S0 p# l/ e p8 j7 p 无论何时我们想知道一段代码或一个函数所需要花费的时间,都可以使用JavaScript控制台对象提供的time()和timeEnd()方法。关键是要有一个必须相同的标签,而里面的代码可以是任何东西(函数、对象、甚至直接console.log()都可以)。. I9 y) ^" l! N- F; v6 p) |
// 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')
* o) B4 Z( a( ]- F- ~
6. console.table()
- g& K: T; i% Q! P, t& L0 D 这个方法允许我们在控制台中生成表格。输入数据必须是数组或显示为表格的对象。$ { u. b, t! L7 B
// console.table() method
console.table({a:1, b:2, c:3, d:4, e:5})
; R* {, U2 C4 z4 j) I 7. console.count() 6 g) F6 m. A; ]& t
这个方法在调用时会将数字(调用次数)写入到控制台。
4 N& l# E8 }( q+ o8 Z( ~. S: P3 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)
}
7 B6 ]1 ~9 J1 o 8. console.group()和console.groupEnd() % o6 J7 q# U/ y+ m+ J
控制台对象的group()和groupEnd()方法允许我们将内容分组到单独的代码块中,并且这些代码块将缩进。和time()和timeEnd()一样,它们也接受值相同的标签。
! h% J l+ r3 m z7 f: s. H% @ // 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')
7 E2 Z% T8 o L7 Z7 Q/ @