当前位置:  开发笔记 > 编程语言 > 正文

如果我在代码中犯了一个错误并导致javascript中的无限循环并且它继续调用alert(),是否有办法停止循环?

如何解决《如果我在代码中犯了一个错误并导致javascript中的无限循环并且它继续调用alert(),是否有办法停止循环?》经验,为你挑选了2个好方法。

有时我使用调试代码来警告javascript中的某些内容(例如,匹配正则表达式中的内容),但忘记修饰符并且警报处于无限循环中(或者如果循环匹配模式300次).如果使用Firefox,则警报会一直显示,甚至无法关闭选项卡,窗口或应用程序.

如果我强行退出,它将关闭所有标签甚至Firefox的其他窗口...实际上有一种方法可以更优雅地停止循环吗?



1> cgp..:

最简洁的答案是不.

这是使用Firebug和console.log函数的一个很好的理由.具有讽刺意味的是,这将导致"停止脚本,因为它正在逃避对话",在某些情况下不显示,这意味着你现在回到了现在的位置.

Chrome和Opera都有此功能.IE没有,Apple Safari也没有.

不是原生的解决方案,但你可以试试这个油脂猴子脚本:http://www.tumuski.com/2008/05/javascript-alert-cancel-button/

此外,您可以简单地覆盖警报功能以使用确认对话框,并在取消确认时停止显示警报:

var displayAlerts = true;

然后:

function alert(msg) {
  if (displayAlerts) {
     if (!confirm(msg)) {
       displayAlerts = false;           
     }
  }
}


这已不再适用,请参阅下面的Alex Key的回答.

2> Alex KeySmit..:

看起来你可以在Firefox中:

    按住Ctrl键

    按Enter键

    按F4一次

根据博客文章,它并不适用于所有情况,更多信息请访问:puremango.co.uk

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有