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 关闭IE6、IE7
Jun 01 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
Oct 21 Javascript
javascript动态修改Li节点值的方法
Jan 20 Javascript
js实现仿Discuz文本框弹出层效果
Aug 13 Javascript
jquery图片轮播特效代码分享
Apr 20 Javascript
JS运动相关知识点小结(附弹性运动示例)
Jan 08 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
May 18 Javascript
JS删除数组里的某个元素方法
Feb 03 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
Sep 28 Javascript
JavaScript遍历数组的方法代码实例
Jan 14 Javascript
Vue 数据绑定的原理分析
Nov 16 Javascript
JavaScript十大取整方法实例教程
Dec 03 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
MySQL修改密码方法总结
2008/03/25 PHP
php日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
定义php常量的详解
2013/06/09 PHP
php Imagick获取图片RGB颜色值
2014/07/28 PHP
php实现获取文章内容第一张图片的方法
2014/11/04 PHP
php命令行模式代码实例详解
2021/02/26 PHP
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
es6数值的扩展方法
2019/03/11 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
解决VUE项目localhost端口服务器拒绝连接,只能用127.0.0.1的问题
2020/08/14 Javascript
Python自定义函数的创建、调用和函数的参数详解
2014/03/11 Python
详解python实现读取邮件数据并下载附件的实例
2017/08/03 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
一款纯css3实现的动画加载导航
2014/10/08 HTML / CSS
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
工商管理实习自我鉴定
2013/09/28 职场文书
总裁岗位职责
2013/12/04 职场文书
初一科学教学反思
2014/01/27 职场文书
母亲追悼会答谢词
2014/01/27 职场文书
校园摄影活动策划方案
2014/02/05 职场文书
机关节能减排实施方案
2014/03/17 职场文书
环保宣传标语
2014/06/12 职场文书
委托公证书格式
2015/01/26 职场文书
股权投资协议书
2016/03/23 职场文书
七年级作文之雪景
2019/11/18 职场文书
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript