没有触摸javascript 3年。刚刚有一个javascript项目,想知道这些年来出现的任何新方法或工具来调试javascript? 我3年前使用过警报。
我正在使用IE
答案 0 :(得分:40)
使用Firefox的Firebug扩展程序或任何WebKit浏览器(Chrome或Safari)中的内置Web Inspector。在IE8中,您可以使用内置的开发人员工具。
答案 1 :(得分:24)
对于IE(我不建议使用),最新版本(IE8)包括developer tools。
对于Firefox,有一个名为Firebug的扩展程序,它具有DOM操作,JS控制台等。
WebKit(在Safari和Chrome中使用)有一个内置的Web Inspector,包括一个JS调试器,一个DOM大纲和操作工具,以及一个JS控制台。
答案 2 :(得分:15)
你真的需要一个crossbrowser工具包。这是我的:
修改强>
IE 8添加了一些developer tools,但我没有在很大程度上使用它们。
修改强>
如果您有一段时间没有完成JS开发,我建议您通过浏览Peter-Paul Koch优秀的quirksmode站点上的兼容性表来节省大量时间调试跨浏览器问题。
答案 3 :(得分:2)
我认为Visual Studio / IE8组合非常出色。 Beats Firebug用于JavaScript调试,IMO(当然,您使用像jQuery这样的框架来处理交叉浏览器问题。)
答案 4 :(得分:2)
如果需要IE7调试,请在兼容性视图中使用IE8与开发人员工具。
答案 5 :(得分:2)
如果您使用Visual Studio,我高度建议使用IE调试,尽管其他人说。当您在IE中点击debugger
语句并启用了调试时,您将获得一个弹出窗口以在Visual Studio中开始调试。
我不再喜欢Firebug,我不知道它出错了,但它变得非常不可靠(忽略debugger
语句)并且就调试而言实际上无法与VS竞争。
答案 6 :(得分:1)
我编写Dreamweaver和Firebug进行更深入的调试。警报也很有用。
答案 7 :(得分:1)
正如其他人所指出的,大多数javascript调试工具都是浏览器的一部分,因为它们与Javascript引擎本身紧密集成。这可能是一件好事,因为如果您遇到特定于浏览器的怪癖,您将需要单独调试每个浏览器。
在 Internet Explorer 世界中,您有两个选择:
答案 8 :(得分:1)
FireFox for FireFox和AJAX Dynatrace for IE http://ajax.dynatrace.com/pages/
答案 9 :(得分:1)
我意识到我正在回答你没有问过的问题,但是你尝试过jQuery吗?它是一个javascript库,它为您提取了大量的DOM操作内容,因此您不必担心跨浏览器兼容性问题。还有其他类似的库,但我相信jQuery目前有最大的追随者。 http://jquery.com/
我每天都在Firefox中使用Firebug。除了调试Javascript(以及扩展,jQuery或任何其他js库)之外,它还非常适合CSS调试。
答案 10 :(得分:1)
真正的程序员使用printf()跟踪进行调试(开玩笑)。
var de =true, bug =console.log||alert||(de=false)
de&&bug( "Enjoy!")
当不处于调试模式时,只需执行de = false。最低性能损失
答案 11 :(得分:0)
Aptana是一个很棒的开发平台,允许您调试FireFox和IE。
答案 12 :(得分:0)
我使用Javascript Debugger plugin来调试在firebug中不容易理解的错误。您可以设置断点并逐步查看问题区域以查看变量值..等等。这是一个非常有用的工具。
答案 13 :(得分:0)
我大部分时间都使用firebug和以下的firebug插件。
FireRainbow,FireRainbow为Firebug启用了javascript语法高亮显示功能。这真的很酷。节省了大量时间。
FirePHP,FirePHP允许您使用简单的PHP方法调用登录Firebug控制台。
Widerbug ,可以利用宽屏幕进行js调试/开发。现已过时,因为Firebug 1.9支持开箱即用。
答案 14 :(得分:0)
我认为出于性能原因使用内置浏览器调试器。 Firefox和Chrome就足够了。
它们允许浏览DOM,显示动态生成的源,显示网络活动,配置文件JS等。
但不要错过printf
- 接近:
console.log("this is %o, event is %o, host is %s", this, e, location.host);
和
console.log("%s", new Error().stack);
答案 15 :(得分:0)
LINE BY LINE JAVASCRIPT调试
要获得以下功能,请尝试下面提到的两种方法。
功能强>
方法1:
方法2: