为什么大多数JavaScript框架都使用这么短的变量名?

时间:2013-07-30 03:22:35

标签: javascript naming minify

我被告知多年来使用一个有意义的变量名。但是,每当我尝试调试一些JavaScript代码并深入到第三方框架时,我发现每个JavaScript框架都有变量名称,如aacbc

为什么这么短的变量名称是常用的?这似乎会损害可维护性。

6 个答案:

答案 0 :(得分:5)

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

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

编写代码时,你应该总是使用合理的变量,但这只是开发人员可以阅读的,浏览器并不关心。

答案 1 :(得分:1)

你最有可能看到缩小的javascript。这是通过minification tool传递原始(并且希望更具可读性)源代码的结果。

答案 2 :(得分:1)

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

一个很好的例子是jQuery库,你可以查看development versionminified version

答案 3 :(得分:1)

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

答案 4 :(得分:1)

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

答案 5 :(得分: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})()