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 相关文章推荐
JavaScript 判断判断某个对象是Object还是一个Array
Jan 28 Javascript
基于Jquery的跨域传输数据(JSONP)
Mar 10 Javascript
JavaScript内核之基本概念
Oct 21 Javascript
使用javascript过滤html的字符串(注释标记法)
Jul 08 Javascript
javascript伸缩菜单栏实现代码分享
Nov 12 Javascript
jQuery实现选项卡切换效果简单演示
Dec 09 Javascript
基于jQuery实现带动画效果超炫酷的弹出对话框(附源码下载)
Feb 22 Javascript
JavaScript入门系列之知识点总结
Mar 24 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
Oct 28 Javascript
JavaScript输出所选择起始与结束日期的方法
Jul 12 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
Sep 19 Javascript
vue 实现复制内容到粘贴板clipboard的方法
Mar 17 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
雄兵连三大错觉:凯莎没了,凉冰阵亡了,华烨觉得自己又行了
2020/04/09 国漫
索尼ICF-SW100收音机评测
2021/03/02 无线电
php木马攻击防御之道
2008/03/24 PHP
php简单的留言板与回复功能具体实现
2014/02/19 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
2016/02/27 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
Javascript的一种模块模式
2008/03/22 Javascript
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
javascript去掉代码里面的注释
2015/07/24 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
2015/08/22 Javascript
用JavaScript和jQuery实现瀑布流
2017/03/19 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
2019/05/05 Javascript
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
用Python制作音乐海报
2021/01/26 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
Mio Skincare法国官网:身体紧致及孕期身体护理
2018/04/04 全球购物
有机童装:Toby Tiger
2018/05/23 全球购物
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
大学生毕业自荐信
2013/10/10 职场文书
遥感技术与仪器求职信
2014/02/22 职场文书
人事部岗位职责范本
2014/03/05 职场文书
《春雨》教学反思
2014/04/24 职场文书
原料仓仓管员岗位职责
2014/07/08 职场文书
党的群众路线教育实践活动对照检查材料
2014/09/22 职场文书
2014年精神文明建设工作总结
2014/11/19 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
2015初中团委工作总结
2015/07/28 职场文书
2016党员干部廉政准则学习心得体会
2016/01/20 职场文书
Android自定义双向滑动控件
2022/04/19 Java/Android