各种JavaScript开发工具比较(2)
来源:it168 发布时间:2007-10-23 13:29:00
标签:JavaScript,工具,开发
虽然在EditPlus型的编辑工具中,代码结构编排、上下文查找等工作变得轻松了许多,但它依然没有代码诱导的功能,更遑论程序断点跟踪调试了。在这里,alert()函数依然扮演着调试工作的贤才干将。你当然可以随意在需要关注的地方加上alert()语句以查看运行时的信息,这种有如埋地雷的工作并不辛苦,但拆卸和调整的工作却是繁复而费力的,况且如雨点般蹦出来的alert信息也足以将一个正常人搞疯。
由于alert只能查看单点程序运行的情况,无法记录程序运行的过程信息,所以当程序超过400,500行时,调试工作将变得举步为艰。有鉴于此,笔者曾经仿照Java中Log4J的思想开发了一个内嵌在程序中的调试器。其思想大概是这样的:
1)将JavaScript嵌到html页面,并在页面中提供一个<div id="debugInfo "></div>,使用这个div显示程序运行时的信息。
2)提供一个输出过程性调试信息的方法
function appendDebug(info,color)
...{
/**//*
if (appendDebug.arguments.length < 2)
{ color = "black"; }
document.all."debugInfo").innerHTML += "<br><font color="+color+">"+info+"</font>";
*/ }
在需要调试时,将方法中的代码注释代码打开。
3)在程序的调试点,调用appendDebug(info)将调试性的过程信息输出,如下面这段示例的代码:
function fun1(param1,param2) ...{ … appendDebug("fun1入参param1值为"+ param1,"blue"); … appendDebug("fun1入参param2值为"+ param2,"yellow"); … }
这样,程序运行时的过程性信息就可以用不同的颜色记录下来以资调试之用。
在缺少调试器的时候,这个土制炉灶确实帮了我不少的忙,代码行数近2000行的“下拉框智能诱导控件”和“多功能日历控件”的JavaScript程序就是通过此方法完成调试的。由于目前已有的JavaScript调试工具还不够强大,这个方法依然有指导意义。


猜你喜欢
- 近期,一直在研究MySQL数据库,经常修改配置文件,导致MySQL数据库无法使用,不得不反复重装MySQL数据库。以下是在Windows7
- 在命令行输入mysql -u root –p,输入密码,或通过工具连接数据库时,经常出现下面的错误信息,相信该错误信息很
- 最近试用mysql proxy,遇到若干问题,好在一一找到了解决方案,列出来备忘。这次使用的版本是0.6.x,也许新版本就没有这些问题了。无
- 理解 CPU 工作原理,重要的是理解 pc 不停地自增地址,顺序执行程序指令。当遇到跳转指令时,会将 pc 重置为新地址。在顺序执行程序指令
- 利用PHP中的thinkphp5进行项目开发,将view一道项目跟目录下进入到/www/wwwroot/xxxx/application/c
- # 判断三角形类型def triangle(a,b,c): if a>0 and b>0 and c>0: &
- [Hack] 意为”劈”、”砍”。 [Hacker] 意为”黑客”CSS Hack 是指针对不同的浏览器写不同的CSS code的过程,简单
- root账户为MySQL的超级管理员用户,拥有MySQL提供的所有权限。我们登录了root账户可以重置其它创建的所有用户的密码,那么root
- “你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起
- IIS报错:msxml3.dll (0x80070005)拒绝访问解决办法:Set objSrvHTTP =
- 关于变量的命名,这又是一个容易引发程序员论战的话题。如何命名才能更具有可读性、易写性与明义性呢?众说纷纭。本期“Python为什么”栏目,我
- 1. 案例【三酷猫列表记账】操作需求:(1)用列表对象记录三酷猫每天钓鱼的种类和数量(2)统计三酷猫所钓水产品的总数量和预计收获金额(3)打
- 前言全可以访问相同的对象, 因此我们讲 这种变量名也叫对象的 "引用".验证1:a = 2b = 3print(id(a
- 在mysql的启动过程中有时会遇到下述错误Can't connect to local MySQL server through s
- 项目场景:postman通常需要传递各式各样的参数,这样的话,进行写参数比较头疼,不知怎么进行传参。解决方案:可以考虑将参数对象写成json
- 1.前言JavaWeb Struts2的 * 我们都能很熟悉,在请求交给Action处理之前,先在 * 中处理,处理完之后再交给Action
- 一、wxPython介绍 1.wxPython是Python语言的一套优秀的GUI图形库。wxPytho
- 在python中调用fortran代码,要用到f2py这个程序。它的项目主页在此。现在该项目已经合并到numpy中了,先安装python再装
- 决策树之CART(分类回归树)详解,具体内容如下1、CART分类回归树简介 CART分类回归树是一种典型的二叉决策树,可以处理连续型变量
- 上篇文章介绍了vue使用ElementUI时导航栏默认展开功能的实现,今天介绍下element 导航栏收起展开功能的实现思路。element