我一直在使用JavaScript解决http://projecteuler.net/上的一些问题。我一直在使用一个简单的html页面并在脚本标签中运行我的代码,因此我可以在浏览器的控制台中记录我的结果。在尝试循环时,我有时会导致浏览器崩溃。
我有更好的环境来进行这种开发吗?
答案 0 :(得分:5)
答案 1 :(得分:1)
如果您在浏览器中运行计算量很大的程序,则可能需要查看使用web workers。简而言之,它们允许您在不会锁定浏览器的不同线程中运行代码。
答案 2 :(得分:1)
如果您只是对运行javascript程序感兴趣,为什么不使用像node.js甚至Rhino这样的东西?这样,如果遇到“麻烦”,您可以轻松记录输出而不会丢失输出。
答案 3 :(得分:1)
我可以想到两种现成的可能性:
1)使用具有断点的调试器。 Firebug相当不错。 Safari和Chrome也有一些内置的调试工具。
2)您可以使用Mozilla Rhino和Env-js将测试移出浏览器(请参阅http://groups.google.com/group/envjs和http://github.com/thatcher/env-js)
答案 4 :(得分:1)
如果脚本运行超过5-10秒(Source),所有现代浏览器(Opera除外)都应该中断脚本。
在Firefox中你甚至可以lower this threshold,如果10秒意味着太大的惩罚。另请注意,即使从Firebug控制台运行代码,此机制也会启动:
Stop Script on Firefox http://img819.imageshack.us/img819/9655/infloopsp.jpg
我认为这个功能本身应该为这些循环实验提供一个非常安全的环境:)
答案 5 :(得分:0)
除了修复导致浏览器崩溃的错误之外,您无法阻止浏览器崩溃。
您至少可以通过使用Chrome等浏览器来缓解崩溃的影响,这些浏览器通常会将一个标签中的崩溃与其他标签分开(因此您只会丢失自己的页面),或者只是安装专门用于测试的单独浏览器。 / p>
在跟踪可能已经记录到日志的数据方面,您可能会使用像Firebug这样的插件,它具有内置调试器,因此您可以暂停脚本执行并检查变量,可能是在任何崩溃之前发生。