为什么大多数JavaScript框架都使用这么短的变量名
Why do most JavaScript frameworks use such short variable names?
多年来,我一直被告知要使用一个有意义的变量名。然而,每次我尝试调试一些JavaScript代码并深入到第三方框架时,我都发现每个JavaScript框架都会有a
、ac
、b
、c
等变量名。
为什么这么短的变量名很常见?这似乎会损害可维护性。
它被称为缩小。它在所有语言中都完成了,但主要是JavaScript,从源代码中删除所有不必要的字符。它主要是JavaScript,因为大型JavaScript文件可以变得更小,从而在浏览器中更快地加载。
大多数JavaScript库都有一个未缩小的版本可供开发人员使用,以便进行调试,然后在生产中使用缩小的版本来减少传输开销。
在编写代码时,应该始终使用合理的变量,但这只是为了让开发人员能够阅读,浏览器并不在乎。
您最有可能看到的是缩小的javascript。这是通过缩小工具传递原始(希望更可读)源代码的结果。
您可能看到的是最小化的代码。最小化程序重写Javascript以占用最小的空间,因此它将尽快下载——删除不必要的空白,用短名称替换变量和函数,并使用其他一些技巧。
可能是您正在调试的javascript被缩小了。没有办法将缩小后的javascript转换为作者编写的具有有意义名称的原始代码。你只是利用你的直觉和分析技能来理解别人的代码,即使那里的关键词是不可读的。
您看到的可能是实际javascript的缩小版本。这样做是为了出于性能原因而减小文件的大小。
一个很好的例子是jQuery库,您可以查看开发版本和缩小版本
正如其他人所说,这是缩小版。我对这个主题的贡献只是简单地展示一个例子。
举个例子:
(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})()
- AngularJS-在JSON选择器中使用变量名
- 命令行中的Uglify js;不要弄乱变量名
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 这在JavaScript中是一个好的变量名吗
- 在javascript中,在变量名之前使用var有什么区别/优势吗
- 在Javascript中连接一个动态变量名
- 如何使用jQuery循环变量名
- JavaScript将字符串转换为变量名
- 根据发送到javascript中函数的参数创建变量名
- 检索本身包含变量的 Jquery 变量名的值
- 测试JavaScript是否符合异常变量名
- 动态变量名语法
- 动态jQuery变量名
- jquery没有't从DIV数据id中获取PHP变量值,只输出变量名
- Ajax jquery post发布时没有变量名
- 在javascript中的现有变量名中添加一个变量
- 可以't让JavaScript将ID读取为变量名
- ng绑定html,变量名来自ng repeat,但在其他地方定义了变量
- 使用动态变量名更新JSON中的结果
- 为什么大多数JavaScript框架都使用这么短的变量名