gxthrj 2009-05-16 23:54
浏览 249
已采纳

js中遇到一个关于alert的问题,没找到答案,不知道前辈们有没有遇到过

最近在写一段js的代码中遇到了这样一个奇怪的问题。

那天下午,我将模块中所有的功能代码调试完毕后,接着就删除了一些调试代码,最后svn提交。长长的伸了个懒腰后下班了。
第二天,测试人员跑过来说功能上有欠缺。我一看,他所说欠缺的功能我昨天都已经实现了,怎么今天突然都不能用了呢?还以为我在提交的时候出了什么差错,可是在自己的电脑上一看,所有昨天实现了的功能真的一个个都没起作用。真是有苦说不清,昨天明明都调试成功再提交的。。。

没办法只得看看代码哪里出了问题,几经周折,最后发现错误在一段js代码中,调试的时候加了alert()方法,提交前这个方法被我删掉了,然后在这个alert()方法之后的js代码就不执行,所以相应的功能也都没了。

这个问题很奇怪,因为我不是异步执行的,所有的代码都是同步的,应该是逐个往下执行,按理说,一个alert不会影响到同步执行的代码,但在删掉它之后真的就出了上面所述的问题。后来发现,如果在alert的位置加一行延时1秒的代码,程序又会正常的执行了!回想,在调试的时候加上alert也就相当于起到延时的作用。真的很神奇,到现在我还没有找到明确的答案。

这段代码唯一有点特殊的地方可能就是稍微长了点,大概有五六十行的样子,而那个alert的位置比较靠尾。

后来为了代码的稳定,没有采用延时的方法,换了种算法将功能实现了,但是上面说到的那个问题还是没有找到答案,不知道前辈没有有没有遇到过这样的问题,还望不吝赐教。

  • 写回答

1条回答 默认 最新

  • iteye_17163 2009-05-17 19:26
    关注

    你看下下面帖子推荐中的第二个
    注意!JavaScript中的“陷阱”。
    [url]http://www.iteye.com/topic/200401[/url]
    看一下里面的“延迟时间为0秒的setTimeout”

    如果不是这个原因的话,可以把代码贴出来,我帮你看。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 github训练的模型参数无法下载
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题