js 调试 技巧

原文链接: js 调试 技巧

上一篇: es6 可迭代协议

下一篇: win10 共享wifi给手机

大多数技巧都适用于 Chrome 控制台和 Firefox, 尽管还有很多其他的调试工具,但大部分也适用。

1. debugger

除了 console.log , debugger 是我们最喜欢、快速且肮脏的调试工具。执行代码后,Chrome 会在执行时自动停止。你甚至可以把它封装成条件,只在需要时才运行。

if (thisThing) {
    debugger;
}

2. 用表格显示对象

有时, 有一组复杂的对象要查看。可以通过 console.log 查看并滚动浏览,亦或者使用 console.table 展开,更容易看到正在处理的内容!

  var animals = [
        {animal: 'Horse', name: 'Henry', age: 43},
        {animal: 'Dog', name: 'Fred', age: 13},
        {animal: 'Cat', name: 'Frodo', age: 18}
      ];
      console.table(animals);

144401_8NiY_2856757.png

3. 使用不同屏幕尺寸

在桌面上安装不同移动设备模拟器非常棒,但现实确是不可行的。如何调整窗口大小呢?Chrome 提供了所需的一切。跳到控制台并点击 ‘切换设备模式’ 按钮。观察窗口变化即可!

144552_Lnf7_2856757.png

4. 如何快速找到 DOM 元素

在 Elements 面板中标记一个 DOM 元素,并在控制台中使用它。Chrome 控制台会保留选择历史的最后五个元素,最终选择的首个元素被标记为 $0 ,第二个选择的元素为 $1 ,依此类推。

如果您按照 “item-4”,“item-3”,“item-2”,“item-1”,“item-0” 的顺序选择以下标签,则可以在控制台中访问 DOM 节点:

144634_tm0F_2856757.png

5. 使用 console.time() console.timeEnd() 测试循环

要得知某些代码的执行时间,特别是调试缓慢循环时,非常有用。 甚至可以通过给方法传入不同参数,来设置多个定时器。来看看它是怎么运行的:

      console.time('start1');
      var items = [];
      for (var i = 0; i < 1000; i++) {
        items.push({index: i});
      }
      console.timeEnd('start1');
      console.time('start2');
      var items = [];
      for (var i = 0; i < 10000; i++) {
        items.push({index: i});
      }
      console.timeEnd('start2');
      console.time('start3');
      var items = [];
      for (var i = 0; i < 100000; i++) {
        items.push({index: i});
      }
      console.timeEnd('start3');

145432_aklF_2856757.png

6. 将代码格式化后再调试 JavaScript

有时代码会在生产环境出问题,但是你的 source maps 没有部署在生产环境上。 不要怕 。Chrome 可以将您的 JavaScript 文件格式化。格式化后的代码虽然不像真实代码那样有用,但至少可以看到发生了什么。点击 Chrome 控制台中的源代码查看器中的 {} 按钮即可。

144956_J9nN_2856757.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值