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 相关文章推荐
jQuery Lightbox 图片展示插件使用说明
Apr 25 Javascript
jquery中ajax调用json数据的使用说明
Mar 17 Javascript
JQuery文字列表向上滚动的代码
Nov 13 Javascript
Event altKey,ctrlKey,shiftKey属性解析
Dec 18 Javascript
jQuery实现图片走马灯效果的原理分析
Jan 16 Javascript
基于jQuery实现左侧菜单栏可折叠功能
Dec 27 Javascript
分享bootstrap学习笔记心得(组件及其属性)
Jan 11 Javascript
基于rollup的组件库打包体积优化小结
Jun 18 Javascript
React父子组件间的传值的方法
Nov 13 Javascript
vue2.0基于vue-cli+element-ui制作树形treeTable
Apr 30 Javascript
Vue中component标签解决项目组件化操作
Sep 04 Javascript
微信小程序实现星星评分效果
Nov 01 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源代码
2006/10/09 PHP
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
php字符串分割函数explode的实例代码
2013/02/07 PHP
PHP获取Exif缩略图的方法
2015/07/13 PHP
学习php设计模式 php实现原型模式(prototype)
2015/12/07 PHP
php事件驱动化设计详解
2016/11/10 PHP
[原创]后缀就扩展名为js的文件是什么文件
2007/12/06 Javascript
jquery 获取json数据实现代码
2009/04/27 Javascript
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
浅析AngularJs HTTP响应拦截器
2015/12/28 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
详解jQuery选择器
2016/12/21 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
Vue+iview+webpack ie浏览器兼容简单处理
2019/09/20 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
python中assert用法实例分析
2015/04/30 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
jupyter notebook实现显示行号
2020/04/13 Python
使用python-Jenkins批量创建及修改jobs操作
2020/05/12 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
美国最大点评网站:Yelp
2018/02/14 全球购物
飞利信loadrunner和软件测试笔试题
2012/09/22 面试题
求职简历自荐信范文
2013/10/21 职场文书
党的群众路线教育实践活动对照检查材料思想汇报
2014/09/19 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书