JavaScript对象浏览器?

时间:2020-03-06 14:49:10  来源:igfitidea点击:

最近,我受命记录一个我已经维护了一段时间的大型JavaScript应用程序。因此,我对系统非常了解。

但是,由于应用程序的规模巨大,即使事先了解有关代码和未经压缩形式的源代码本身的知识,也可能会花费大量时间。

因此,我正在寻找可帮助我探索JavaScript中的类和方法及其关系的工具,并且如果可能的话,在整个过程中对其进行记录,是否有可用的工具?

像VS中的对象浏览器之类的东西会很好,但是任何可以帮助我更快完成工作的工具都可以。

谢谢!

解决方案

Firebug + uneval(obj)是一个通常有用的简单技巧。

看看Aptana,它们有一个轮廓,可以确定什么是对象并及时保存它们之间的关系。

Firebug的DOM选项卡允许我们浏览全局"窗口"对象的内容,并且可以通过在命令行中输入"检查(任何)"来检查特定对象。

除非一个对象的实例拥有相关对象的实例,否则我们将无法使用它来检测关系,但这只是一个开始。

我们还可以使用DOM选项卡上的"选项"菜单将显示的内容限制为用户定义的函数和属性,这将有助于减少混乱。

我们不知道此JS应用程序是否旨在在Web浏览器中运行...
如果是的话,如建议的那样,Firebug(Firefox扩展)非常适合调试JS和探索Dom。
在IE方面,我们拥有一些工具,例如IEDocMon,Web Accessibility Toolbar(它的功能不只是名称)或者Fiddler(与问题无关,但仍然是一个不错的工具)。

Firebug(Firefox)/ Dragonfly(Opera)可以实时查看对象

Aptana / JS / UML(Eclipse)可以帮助解决对象之间的关系

我看到很多人都在谈论在Firebug中检查DOM。但是,从问题来看,我们似乎想要像jsdoc这样的东西?只需通过注释添加类型和类信息,jsdoc就会生成包含类关系的文档。 http://jsdoc.sourceforge.net/

Google为其提供了添加功能http://code.google.com/p/jsdoc-toolkit/

更新:这不是分叉,而是由最初将jsdoc作为perl脚本编写的开发人员进行的重写。它的目标是更具适应性,因此我们可以使用所需的任何js继承/事件/属性样式。另一个功能是,它使我们可以用一种更简单的方式来修改用于生成HTML的模板。