JS调试必备的5个debug技巧

 更新时间:2014年03月07日 10:04:20   作者:   我要评论
我一直使用printf调试程序,一般来说都是比较顺利,但有时候,你会发现需要更好的方法。下面几个JavaScript技巧相信你一定会觉得十分有用

1. debugger;

我以前也说过,你可以在JavaScript代码中加入一句debugger;来手工造成一个断点效果。
需要带有条件的断点吗?你只需要用if语句包围它:

复制代码 代码如下:
if (somethingHappens) {

  debugger;

}




但要记住在程序发布前删掉它们。

2. 设置在DOM node发生变化时触发断点

有时候你会发现DOM不受你的控制,自己会发生一些奇怪的变化,让你很难找出问题的根源。

谷歌浏览器的开发工具里有一个超级好用的功能,专门可以对付这种情况,叫做“Break on…”,你在DOM节点上右键,就能看到这个菜单项。

断点的触发条件可以设置成这个节点被删除、节点的属性有任何变化,或它的某个子节点有变化发生。

tumblr_inline_n1s6xpVmg21r2

3. Ajax 断点

XHR断点,或Ajax断点,就像它们的名字一样,可以让我们设置一个断点,在特点的Ajax调用发生时触发它们。

当你在调试Web应用的网络传输时,这一招非常的有效。

tumblr_inline_n1s7ceQ08c1r2

4. 移动设备模拟环境

谷歌浏览器里有一些非常有趣的模拟移动设备的工具,帮助我们调试程序在移动设备里的运行情况。

找到它的方法是:按F12,调出开发者工具,然后按ESC键(当前tab不能是Console),你就会看到第二层调试窗口出现,里面的Emulation标签页里有各种模拟设备可选。

当然,这不会就变成了真正的iPhone,只是模拟了iPhone的尺寸,触摸事件和浏览器User Agent值。

tumblr_inline_n1s71kb2NL1r2

5. 使用Audits改进你的网站

YSlow是一个非常棒的工具。谷歌浏览器的开发者工具里也有一个非常类似的工具,叫Audits

它可快速的审计你的网站,给你提出非常实际有效的优化你的网站的建议和方法。

tumblr_inline_n1s76yISqv1r2

还有其它的吗?

没有这些工具,我不知道将如何开发。我还会写更多的关于这方面的技巧——一旦我有所发现,请关注我的最新文章。

相关文章

  • JS+CSS实现感应鼠标渐变显示DIV层的方法

    JS+CSS实现感应鼠标渐变显示DIV层的方法

    这篇文章主要介绍了JS+CSS实现感应鼠标渐变显示DIV层的方法,涉及javascript对div层的逐渐显示与隐藏的实现技巧,需要的朋友可以参考下
    2015-02-02
  • JavaScript设计模式学习之“类式继承”

    JavaScript设计模式学习之“类式继承”

    这篇文章主要介绍了JavaScript设计模式学习之“类式继承”,本文直接用代码实例讲解类式继承的实现方法,需要的朋友可以参考下
    2015-03-03
  • 可编辑下拉框的2种实现方式

    可编辑下拉框的2种实现方式

    下拉框想必大家都有见过,可编辑的下拉框就不多见了吧,本例为大家介绍个不错的实现方法,需要的朋友可以参考下
    2014-06-06
  • 小程序中this.setData的使用和注意事项

    小程序中this.setData的使用和注意事项

    这篇文章主要介绍了微信小程序中this.setData的使用和注意事项,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 盘点javascript 正则表达式中 中括号的【坑】

    盘点javascript 正则表达式中 中括号的【坑】

    下面小编就为大家带来一篇盘点javascript 正则表达式中 中括号的【坑】。小编觉得总结的不错。现在分享给大家,希望能给大家一个参考
    2016-03-03
  • 异步动态加载JS并运行(示例代码)

    异步动态加载JS并运行(示例代码)

    这篇文章主要是对异步动态加载JS并运行的示例代码进行了介绍。需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • 微信小程序实现滚动消息通知

    微信小程序实现滚动消息通知

    这篇文章主要为大家详细介绍了微信小程序实现滚动消息通知,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • 解决Layui中layer报错的问题

    解决Layui中layer报错的问题

    今天小编就为大家分享一篇解决Layui中layer报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JavaScript中链式调用之研习

    JavaScript中链式调用之研习

    方法链一般适合对一个对象进行连续操作(集中在一句代码)。一定程度上可以减少代码量,缺点是它占用了函数的返回值。
    2011-04-04
  • ES6学习教程之对象的扩展详解

    ES6学习教程之对象的扩展详解

    这篇文章主要给大家介绍了ES6中对象扩展的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05

最新评论