【问题标题】:Use of try-catch in JavaScript在 JavaScript 中使用 try-catch
【发布时间】:2011-07-12 17:51:30
【问题描述】:

在 JavaScript 中使用 try/catch 需要多长时间?我有一个应用程序,我在一个调用了几百次的函数中使用它。现在我担心try/catch 语句花费了太多时间,应用程序将比没有它花费更长的时间。

【问题讨论】:

    标签: javascript try-catch


    【解决方案1】:

    您应该注意以下几点:

    “程序优化的第一条规则:不要这样做。程序优化的第二条规则(仅限专家!):不要这样做。” - 迈克尔 A. 杰克逊

    我浪费时间优化对性能影响不大的代码部分。通过运行一些计时实验,确保你知道什么是慢的。

    【讨论】:

      【解决方案2】:

      jsPref 上有一些不错的测试:

      结论:在主流浏览器上,差异很小。

      【讨论】:

      【解决方案3】:

      通常,在try 块内执行的代码很昂贵。但是,如果您要调用数百次 try 块,这可能不是问题。如果是几十万,您可能需要重新考虑您的设计。

      【讨论】:

        【解决方案4】:

        try/catch 子句在 javascript 中创建了一个新范围,因此必须来自父范围的每个变量都会稍微慢一些。

        开销不是那么很大,但对于您的内部循环来说太大而无法完全忽略。

        观看此视频以获得更深入的解释:http://www.youtube.com/watch?v=mHtdZgou0qU

        【讨论】:

        • try 块引入了新范围是不正确的。
        • @Pointy:是的,但我现在想不出更好的描述。你有什么建议吗?
        • 我知道你在说什么,但我对复杂的“语言律师”术语一无所知:-)
        • thx,不错的网站(尤其是您可以创建自己的测试用例。对我来说最有趣的一点是,如果 try-catch 语句比 if 语句慢得多。根据测试它是关于慢 25%。我必须在最终应用程序中查看这是否可以接受。
        猜你喜欢
        • 1970-01-01
        • 2019-11-12
        • 2012-11-25
        • 2020-03-13
        • 2021-09-06
        • 1970-01-01
        • 1970-01-01
        • 2021-11-25
        • 2023-03-24
        相关资源
        最近更新 更多