1

多年来,我一直被告知要使用有意义的变量名。但是,每次我尝试调试一些 JavaScript 代码并深入研究第三方框架时,我发现每个 JavaScript 框架都会有变量名,如a, ac, b, c

为什么这么短的变量名很常见?似乎它会损害可维护性。

4

6 回答 6

5

它被称为缩小。它以所有语言完成,但主要是 JavaScript,以从源代码中删除所有不必要的字符。它主要是 JavaScript,因为大型 JavaScript 文件可以变得更小,从而在浏览器中加载更快。

大多数 JavaScript 库都有可供开发人员使用的未缩小版本,以便可以进行调试,然后在生产中使用缩小版本来减少传输开销。

在编写代码时,您应该始终使用合理的变量,但这只是为了让开发人员可以阅读它,浏览器并不关心。

于 2013-07-30T03:30:54.787 回答
1

您很可能正在查看缩小的 javascript。这是通过缩小工具传递原始(希望更易读)源代码的结果。

于 2013-07-30T03:25:24.897 回答
1

您所看到的可能是实际 javascript 的缩小版本。这样做是为了出于性能原因减小文件的大小。

一个很好的例子是jQuery库,你可以看看开发版缩小版

于 2013-07-30T03:25:32.947 回答
1

您可能正在查看的是最小化的代码。最小化器重写 Javascript 以占用最少的空间,因此它会尽快下载——删除不必要的空格,用短名称替换变量和函数,并使用其他一些技巧。

于 2013-07-30T03:26:57.573 回答
1

可能是您正在调试的 javascript 被缩小了。没有办法将缩小的 javascript 转换为作者编写的具有有意义名称的原始代码。即使那里的关键字不可读,您也只需使用您的直觉和分析技能来理解其他代码。

于 2013-07-30T03:29:13.620 回答
0

正如其他人所说,这是缩小版。我对这个线程的贡献只是为了展示一个例子。

举个例子:

(function () {
    "use strict";
    var foo = function () {
        return;
    };
    var bar = foo;
    var baz = bar;
})();

并通过jscompress.com运行它。结果将是

(function(){"use strict";var e=function(){return};var t=e;var n=t})()
于 2013-07-30T03:42:39.303 回答