【问题标题】:javascript: recurring strings and performancejavascript:循环字符串和性能
【发布时间】:2016-02-08 05:15:31
【问题描述】:

我有 Java 背景。

在那里,尤其是在 JDK 1.2 时代,必须进行节俭的字符串管理。所以我们会在任何地方都使用常量,并尽量减少字符串的使用,尤其是当用作在整个代码中重复的键时(尤其是在循环中)。

不过,在 javascript 中,我很少看到人们将常量用于字符串 - 似乎在整个代码中都使用字符串的情况相当普遍,即使对于我见过的相对高质量的代码也是如此。

是不是因为javascript在处理字符串的时候没有问题?它可能有一些智能内存管理或其他东西吗?其实我的直觉告诉我它没有......

【问题讨论】:

    标签: javascript string performance memory-management


    【解决方案1】:

    我想指出,您正在比较一个旧的 1998/1999 Java 平台 到现代的 JavaScript。显然,从那时起,Java 经历了很多变化。

    JavaScript 与 constants 的兼容性历史可能与您的观察有很大关系。

    根据Mozilla 的说法,JavaScript 中的常量直到最近才与大多数浏览器兼容。

    在早期版本的 Firefox 和 Chrome 以及 Safari 5.1.7 和 Opera 12.00 中,如果您使用 const 定义变量,您以后仍然可以更改其值。它在 Internet Explorer 6-10 中不受支持,但在 Internet Explorer 11 中包含。

    您可以在 JavaScript 中定义一个常量,但该值实际上仍然可以更改,因此它不是真正的常量。当使用一些带有常量的指令时,在这些浏览器上运行的脚本会中断。因此,甚至没有多少开发者愿意为它们费心。

    这对研究来说相当有趣,很多人对这个话题感到困惑。

    【讨论】:

    • 感谢您的深入研究!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-02
    • 2020-07-06
    • 2015-03-21
    • 2016-01-12
    • 2012-03-09
    • 2020-11-30
    • 2011-04-28
    相关资源
    最近更新 更多