多年来,我一直被告知要使用有意义的变量名。但是,每次我尝试调试一些 JavaScript 代码并深入研究第三方框架时,我发现每个 JavaScript 框架都会有变量名,如a, ac, b, c。
为什么这么短的变量名很常见?似乎它会损害可维护性。
多年来,我一直被告知要使用有意义的变量名。但是,每次我尝试调试一些 JavaScript 代码并深入研究第三方框架时,我发现每个 JavaScript 框架都会有变量名,如a, ac, b, c。
为什么这么短的变量名很常见?似乎它会损害可维护性。
它被称为缩小。它以所有语言完成,但主要是 JavaScript,以从源代码中删除所有不必要的字符。它主要是 JavaScript,因为大型 JavaScript 文件可以变得更小,从而在浏览器中加载更快。
大多数 JavaScript 库都有可供开发人员使用的未缩小版本,以便可以进行调试,然后在生产中使用缩小版本来减少传输开销。
在编写代码时,您应该始终使用合理的变量,但这只是为了让开发人员可以阅读它,浏览器并不关心。
您很可能正在查看缩小的 javascript。这是通过缩小工具传递原始(希望更易读)源代码的结果。
您可能正在查看的是最小化的代码。最小化器重写 Javascript 以占用最少的空间,因此它会尽快下载——删除不必要的空格,用短名称替换变量和函数,并使用其他一些技巧。
可能是您正在调试的 javascript 被缩小了。没有办法将缩小的 javascript 转换为作者编写的具有有意义名称的原始代码。即使那里的关键字不可读,您也只需使用您的直觉和分析技能来理解其他代码。
正如其他人所说,这是缩小版。我对这个线程的贡献只是为了展示一个例子。
举个例子:
(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})()