js调试方式,前端js调试
有哪些 JS 调试技巧?
其实当你经验足够的时候,有些错误不需要调试就能想明白。当然,新手而言,从调试做起。
主要的技巧取决于你使用的调试工具,这里以我使用的chrome为例。首先跳出chrome的调试工具,右键选择检查。。
接着弹出开发者窗口,如图
这个就是调试页面了,然后单击顶头的source,找到你的js脚本,如图:
图片中那个蓝色的小框框就是断点了,设置方法就是单击那里。
可以见到,窗口下面红色鲜红的值就是错误了,单击后面的错误位置就能定位了(语法错误能显示定位,但是逻辑错误无法定位。内置api出错定位会出错,比如JSON.parse()出错就定位到html文件去了)
左下角有一个蓝色小箭头,后面是能输入的,输入一下试试,
我输入了cookie,就返回了cookie的值。其他的同理。
另外也可以在js脚本里面使用console.log(),在console一栏会显示的。更多的方法,尝试才知道。
如何调试JS?
说下几种方法吧:br1.用alert 这个最最直观 把你想要的内容弹出来给你看,但是要看哪里 就要在哪里加,比较麻烦br2.用firefox 或者chrome浏览器 里面有debug工具的br3.如果想用ie来debug的话 记得用ie8 或者以上版本
有哪些 JS 调试技巧
一般js调试用firedebug或者Chrome Developer Tool,我大概是从 08、09 年从 Firebug 转入 Chrome Developer Tool,一直用到现在,越用越喜欢。我平时调错时常用的功能有:
1、代码格式化
可以将被压缩的代码自动展开
2、实时代码编辑
可以在运行时动态改变 JS 代码,并且不需要刷新页面就可以看到效果,一般用这个实时的在代码里插 console.log
3、DOM 事件/XHR 断点
可以针对 DOM 结构改变/属性改变/键盘鼠标事件 等下断点,直接断到事件的第一个 listener 函数上。还可以对 XHR 请求下断点,断到发起请求的那一行代码上
4、调用栈分析
这个非常常用,Scripts 面板下右上角的那一部分
5、自动异常断点
当代码执行出错时,可以自动断到出错的代码行上,直接分析出错时的运行时环境
分析 HTTP 请求
Network 面板下列出了所有的 HTTP 请求,可以很方便的查看请求内容、HTTP 头、请求时间等信息
以线上代码出 Bug 为例。一般上手第一步是使用代码格式化功能将被压缩的线上代码展开,然后开启自动异常断点,尝试重现 Bug。当 Bug 出现时代码会自动断到出错的那一行。然后通过调用栈分析结合控制台找到最开始出错的那个函数上。一般的 Bug 到这里就算找出来了,但是如果这个 Bug 是在事件回调函数或者 XHR 回调函数上,就得结合 DOM 事件断点和 XHR 断点 进一步往上找哪个函数出错。另外,如果是发给服务器请求没有得到正确的 response,可以通过 Network 面板查看请求的参数、Cookie、HTTP 头是否有误。
另外,还可以通过 Charles/Nginx/Fiddler 等工具将远程 js 代码映射到自己的电脑上,免去了代码格式化的麻烦,还可以直接编辑。
还有些比较小的 Tips:
console.group/console.groupEnd 可以将 log 信息分组展示,看起来更舒服
console.warn/console.error 可以输出 warning 和 error log
element 面板右侧实时编辑的 css 样式,可以在 resource 面板里保存起来
关于样式还有个技巧,Elements 面板右上角的 styles 栏,右侧有三个图标,功能依次是:根据当前元素创建一个 css 样式、模拟 :hover/:active 等伪类、颜色值类型选择。实用
resource 面板可以删除和修改 cookie/localstorage
scripts 面板下的 ctrl+o 可以快速跳转脚本文件,ctrl+shift+o 快速跳转函数
右下角的齿轮图标里有个选项是开发者工具和网页左右分屏(Dock to the right,默认是上下分屏),宽屏必备
接上,还有个选项是禁用 Cookit,必点
接上,在选项面板里还可以手工编辑 user agent 和模拟触摸事件
最后说说 IE 6 的调试,我是这么个流程:
首先尝试在 Chrome 下重现该 Bug,如果能重现,就先把 Chrome 里能重现的 Bug 修了。确定 Chrome 里 OK,但是 IE 6 有问题,再继续下一步
到 IE 里首先尝试高版本 IE,比如 IE 9。E 9 的开发者工具还不错,也可以下断点,调用栈分析、控制台样样都有。如果 IE 9 里没问题,那就继续尝试 IE8,一直定位到能重现该问题的最高版本的 IE 上。即使是 IE 7,其开发者工具也还是勉强能用的……如果不幸的碰上一个 IE 6 only 的 Bug,那就只有继续下一步
到这一步的话一般就是最苦逼的时刻。IE 6 实在是没有太好用的 JS 调试工具(据说 Visual Studio 可以调,我没用过,欢迎补充)。这时候一般就是二分+alert的土法定位到出错行,加上耐心和时间,还有一点点运气。这一步的话强烈推荐开 Fiddler。
js之断点调试步骤
1.打开检查,在sources找到对应的js文件,打上断点
2.刷新页面出现灰色区域表示进入调试模式
3.上面的按钮表示下一步也可以使用快捷键f10
4.上面的按钮表示终止本次调试(终止不了可以多点几次),但是刷新依然会进入调试模式
5.点击上面的蓝色按钮,表示取消断点,再次刷新页面就不会进入调试模式