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 事件冒泡简介及应用
Jan 11 Javascript
Json对象替换字符串占位符实现代码
Nov 17 Javascript
Javascript引用指针使用介绍
Nov 07 Javascript
一个JS的日期格式化算法示例
Jul 31 Javascript
JavaScript访问CSS属性的几种方式介绍
Jul 21 Javascript
页面加载完后自动执行一个方法的js代码
Sep 06 Javascript
jquery无限级联下拉菜单简单实例演示
Nov 23 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
Nov 29 Javascript
使用travis-ci如何持续部署node.js应用详解
Jul 30 Javascript
Angular5中调用第三方js插件的方法
Feb 26 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
Aug 08 Javascript
vue实现购物车选择功能
Jan 10 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
做一个有下拉功能的留言版
2006/10/09 PHP
php中url传递中文字符,特殊危险字符的解决方法
2013/08/17 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
Laravel5.4框架使用socialite实现github登录的方法
2019/03/20 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
php实现简单四则运算器
2020/11/29 PHP
CheckBox 如何实现全选?
2006/06/23 Javascript
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
2009/03/28 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
ClearTimeout消除闪动实例代码
2016/02/29 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
2018/10/12 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
JavaScript点击按钮生成4位随机验证码
2021/01/28 Javascript
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
Python映射拆分操作符用法实例
2015/05/19 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
Django实现基于类的分页功能
2019/10/31 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
银行类自荐信
2014/02/04 职场文书
主持词开场白
2014/03/17 职场文书
员工趣味活动方案
2014/08/27 职场文书
工作失误检讨书范文
2015/01/26 职场文书
三八妇女节主持词
2015/07/04 职场文书
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers
mysql 获取相邻数据项
2022/05/11 MySQL