![Node.js应用开发](https://wfqqreader-1252317822.image.myqcloud.com/cover/512/53286512/b_53286512.jpg)
上QQ阅读APP看书,第一时间看更新
1.4.2 项目实训——Console控制台的使用
![](https://epubservercos.yuewen.com/39F131/31751248507646906/epubprivate/OEBPS/Images/figure-0029-0037.jpg?sign=1739625997-lLb6uPzK4oZcHhY6aOhlHZEpv9PSGuU3-0-c613d762f159f21313df5b46dd3be61e)
视频4
1.实验需求
调用console控制台的一系列方法实现以下输出。
(1)输出信息。
(2)调试输出。
(3)输出对象的层次结构。
(4)输出数据表格化。
(5)统计代码执行时间。
(6)分组输出信息。
(7)统计代码执行的次数。
(8)当表达式为false时,输出信息。
(9)用来追踪函数的调用轨迹。
(10)清除控制台所有内容。
2.实验步骤
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>console的使用</title> </head> <body> <script> // 问题1:输出信息 console.log('Web前端开发');// 输出普通信息 console.info('Web前端开发');// 输出提示信息 (在lE上有区分) console.error('Web前端开发');// 输出错误信息 console.warn('Web前端开发');// 输出警示信息 // 问题2:调试输出 /*此函数作用与 console.log 作用相同,均为调试输出。目前谷歌浏览器和Opera不支持console.debug(),在控制台中看不到效果。可在lE浏览器中看到效果 */ console.debug("这是一行文字"); // 问题3:输出对象的层次结构 /* 此函数作用与console.log作用效果相同,但是打开节点时,两者之间存在差异。在观察节点时,dir的效果要明显好于log的 */ var oBody = document.body; console.dir(oBody) // 问题4:输出数据表格化 var students = [{ name: '张三', email: 'zhangsan@163.com', qq: 12345 }, { name: '李四', email: 'lisi@126.com', qq: 12346 }, { name: '王五', email: 'wangwu@sina.com', qq: 12347 }, { name: '赵六', email: 'zhaoliu@gmail.com', qq: 12348 } ]; console.table(students); let person = { name: 'Harrison', age: 20, say() { console.log(this.name + '很帅!'); } } console.table(person); // 问题5:统计代码执行时间 console.time('统计for循环总循环时间'); for (var i = 0, count = 0; i < 99999; i++) { count++; } console.timeEnd('统计for循环总循环时间'); console.time('统计while循环总循环时间'); var i = 0, count = 0; while (i < 99999) { count++; i++; } console.timeEnd('统计while循环总循环时间'); // 问题6:分组输出信息 console.group('前端1组'); console.log('前端1组-1'); console.log('前端1组-2'); console.log('前端1组-3'); console.groupEnd(); console.group('Java2组'); console.log('Java2-1'); console.log('Java2-2'); console.log('Java2-3'); console.groupEnd(); // 问题7:统计代码执行的次数 function testFn() { console.count('当前函数被调用的次数'); } testFn(); testFn(); testFn(); for (i = 0; i < 5; i++) { console.count('for循环执行次数'); } // 问题8:当表达式为false时,输出信息 var flag = false; console.assert(flag, '当flag为false时才输出!'); // 问题9:用来追踪函数的调用轨迹 var x = fn3(1, 1); function fn3(a, b) { return fn2(a, b); } function fn2(a, b) { return fn1(a, b); } function fn1(a, b) { return fn(a, b); } function fn(a, b) { console.trace();// 运行后,会显示fn()的调用轨迹 return a + b; } // 问题10:清除控制台所有内容 // console.clear() </script> </body> </html>
在控制台输出结果如图1-31所示。
![](https://epubservercos.yuewen.com/39F131/31751248507646906/epubprivate/OEBPS/Images/figure-0032-0038.jpg?sign=1739625997-ejH4B1LkiiiWPkGPgwzAg2WUx01MkkIq-0-8c461ac09773e6eb2104f6354e8b425f)
图1-31 Console输出结果
【代码分析】
打开Chrome浏览器,按<F12>键,在控制台查看运行结果。代码中使用Console的不同方法输出不同的内容,注意输出内容的颜色及代表的含义。