【发布时间】:2011-07-12 17:51:30
【问题描述】:
在 JavaScript 中使用 try/catch 需要多长时间?我有一个应用程序,我在一个调用了几百次的函数中使用它。现在我担心try/catch 语句花费了太多时间,应用程序将比没有它花费更长的时间。
【问题讨论】:
标签: javascript try-catch
在 JavaScript 中使用 try/catch 需要多长时间?我有一个应用程序,我在一个调用了几百次的函数中使用它。现在我担心try/catch 语句花费了太多时间,应用程序将比没有它花费更长的时间。
【问题讨论】:
标签: javascript try-catch
您应该注意以下几点:
“程序优化的第一条规则:不要这样做。程序优化的第二条规则(仅限专家!):不要这样做。” - 迈克尔 A. 杰克逊
我浪费时间优化对性能影响不大的代码部分。通过运行一些计时实验,确保你知道什么是慢的。
【讨论】:
jsPref 上有一些不错的测试:
结论:在主流浏览器上,差异很小。
【讨论】:
通常,在try 块内执行的代码很昂贵。但是,如果您要调用数百次 try 块,这可能不是问题。如果是几十万,您可能需要重新考虑您的设计。
【讨论】:
try/catch 子句在 javascript 中创建了一个新范围,因此必须来自父范围的每个变量都会稍微慢一些。
开销不是那么很大,但对于您的内部循环来说太大而无法完全忽略。
观看此视频以获得更深入的解释:http://www.youtube.com/watch?v=mHtdZgou0qU
【讨论】:
try 块引入了新范围是不正确的。