前言:

Web 开发中最常用的调试就是 console.log(),console 除了 本身 log() 方法外,还有其他很多方法。

console.log()

console.log() 有许多意想不到的功能,我们经常使用 console.log(object) 来查看一个对象,或者使用 console.log(object,otherobject,string) 来查看数据信息。

除此之外,console.log() 还有另外一种写法:console.log(msg,values),类似 Java 或 PHP 中的 sprintf

console.log('I like %s but I do not like %s.', 'GaoSirs', 'pus');

这里会输出:

I like GaoSirs but I do not like pus.

常见的占位符有 %o(它接受对象),%s(它接受字符串),d%(它接受数字),%c(它接受 css 语句);

其中比较有趣的是 %c: 使用%c占位符时,对应的后面的参数必须是CSS语句,用来对输出内容进行CSS渲染

console.log('I am a %cbutton', 'color: white; background-color: orange; padding: 2px 5px; border-radius: 2px');

console.dir()

console.dir() 与 console.log() 类似。尽管略有不同。

console.warn()

可能是最直接的的替换 console.log(),可以用完全相同的方式使用 console.warn()。唯一区别是输出的背景色是黄色的。

具体来说,输出处于警告级别而不是信息级别,因此浏览器要稍微区别对待它。

console.table()

console.table() 旨在以一种比仅仅转出原始对象数组更整洁的方式显示表格数据。

const data = [{
id: "7cb1-e041b126-f3b8",
seller: "WAL0412",
buyer: "WAL3023",
price: 203450,
time: 1539688433
},
{
id: "1d4c-31f8f14b-1571",
seller: "WAL0452",
buyer: "WAL3023",
price: 348299,
time: 1539688433
},
{
id: "b12c-b3adf58f-809f",
seller: "WAL0012",
buyer: "WAL2025",
price: 59240,
time: 1539688433
}];

如果以 console.log() 输出以上内容,我们会得到一些无用的输出数据

 (3) [{…}, {…}, {…}]

通过 console.table() 输出则有用的多:

第二个参数是所需列的列表:

console.table(data, ["id", "price"]);

注意:console.table() 只能处理最多1000行,所以它可能不适合所以数据集。

console.assert()

console.assert() 是对输入的表达式进行断言,只有表达式为 False 时 ,才输出相应的信息到控制台。

var arr = [1, 2, 3];
console.assert(arr.length === 4);

console.count()

console.count() 只是作为一个计数器,或者作为一个命名计数器,可以统计代码执行次数。

还有一个 console.countReset(), 可以用它重置计数器。

除此之外,还有许多调试方法,这里就不一 一叙述了,虽然用处不是很大,但它仍然是一个有趣的想法,这样使你的代码调试更加清晰。

随笔参考
  https://segmentfault.com/a/1190000018756503#articleHeader6
感谢博主分享!

最新文章

  1. DDD 领域驱动设计-谈谈 Repository、IUnitOfWork 和 IDbContext 的实践(3)
  2. 什么是shell
  3. (转)SVN服务器搭建和使用(二)
  4. mysql与oracle常用函数及数据类型对比
  5. Entity Framework若干个扩展
  6. Lock file left by a different patch, OPatch will not try re-using the lock file.
  7. Android游戏框架之基础之AA碰撞系统
  8. java实现链表结构
  9. 全国计算机等级考试二级教程-C语言程序设计_第4章_选择结构
  10. 移动端js插件分享
  11. ZOJ2971 Give Me the Number 【模拟】
  12. 二级C考点汇总
  13. java远程备份mysql数据库关键问题(限windows环境,亲测解决)
  14. HiveQL DML 常用QL示例资料
  15. 【zabbix教程系列】四、用户自定义监控
  16. admin-7
  17. Java的参数传递是「按值传递」还是「按引用传递」?
  18. spring boot(十六)使用Jenkins部署spring boot
  19. 没有插件的sublime编辑器是没有灵魂的
  20. C#输出到Release VS中Release模式下生成去掉生成pdb文件

热门文章

  1. k8s重要概念及部署k8s集群(一)--技术流ken
  2. cocos creator主程入门教程(二)—— 弹窗管理
  3. ROS笔记 Topics
  4. 第43章 添加更多API端点 - Identity Server 4 中文文档(v1.0.0)
  5. IEnumerable<T>和IQueryable<T>区分
  6. Odd-e CSD Course Day 4
  7. WCF和委托
  8. 基本数据类型 字典 dict
  9. Xaramin IOS 开发常见问题
  10. 测者的性能测试手册:JVM的监控利器