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 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型