JS调试必备的5个debug技巧


Posted in Javascript onMarch 07, 2014

1. debugger;

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

if (somethingHappens) {
  debugger;
}

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

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

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

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

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

JS调试必备的5个debug技巧

3. Ajax 断点

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

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

JS调试必备的5个debug技巧

4. 移动设备模拟环境

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

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

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

JS调试必备的5个debug技巧

5. 使用Audits改进你的网站

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

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

JS调试必备的5个debug技巧

还有其它的吗?

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

Javascript 相关文章推荐
JS中style属性
Oct 11 Javascript
用javascript实现的支持lrc歌词的播放器
May 17 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
Aug 13 Javascript
实现只能输入数字的input不用replace方法
Sep 12 Javascript
在Html中使用Requirejs进行模块化开发实例详解
Apr 15 Javascript
Bootstrap自定义文件上传下载样式
May 26 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
Feb 21 Javascript
在webstorm开发微信小程序之使用阿里自定义字体图标的方法
Nov 15 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
Jul 05 Javascript
Vue实现boradcast和dispatch的示例
Nov 13 Javascript
JavaScript实现弹出窗口效果
Dec 09 Javascript
JS实现扫雷项目总结
May 19 Javascript
javascript中style.left和offsetLeft的用法说明
Mar 07 #Javascript
js读取被点击次数的简单实例(从数据库中读取)
Mar 07 #Javascript
js函数名与form表单元素同名冲突的问题
Mar 07 #Javascript
javascript(js)的小数点乘法除法问题详解
Mar 07 #Javascript
jquery中常用的函数和属性详细解析
Mar 07 #Javascript
jquery 操作两个select实现值之间的互相传递
Mar 07 #Javascript
JS判断文本框内容改变事件的简单实例
Mar 07 #Javascript
You might like
php 信息采集程序代码
2009/03/17 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
ThinkPHP模板替换与系统常量及应用实例教程
2014/08/22 PHP
php绘图之生成饼状图的方法
2015/01/24 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
Node.js中require的工作原理浅析
2014/06/24 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
webpack配置sass模块的加载的方法
2017/07/30 Javascript
vue如何使用 Slot 分发内容实例详解
2017/09/05 Javascript
Vue.js devtool插件安装后无法使用的解决办法
2017/11/27 Javascript
JavaScript中变量、指针和引用功能与操作示例
2018/08/04 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
Vue创建头部组件示例代码详解
2018/10/23 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
微信小程序实现的picker多级联动功能示例
2019/05/23 Javascript
webpack4 从零学习常用配置(小结)
2019/05/28 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
在vue中动态修改css其中一个属性值操作
2020/12/07 Vue.js
wxpython 学习笔记 第一天
2009/03/16 Python
Django中使用group_by的方法
2015/05/26 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
python SMTP实现发送带附件电子邮件
2018/05/22 Python
python 实时得到cpu和内存的使用情况方法
2018/06/11 Python
解决pyinstaller打包发布后的exe文件打开控制台闪退的问题
2019/06/21 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
pycharm内无法import已安装的模块问题解决
2020/02/12 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
Currentbody西班牙:美容仪专家
2019/09/28 全球购物
百善孝为先:关于孝道的经典语录
2019/10/18 职场文书
flex弹性布局详解
2022/03/20 HTML / CSS
星际争霸:毕姥爷vs解冻03
2022/04/01 星际争霸