1

或者如果我误解了我所看到的内容,请告诉我,但请查看此链接。

http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js

看看所有变量都像 a、b、c 一样,并且所有代码都被压缩到没有空间吗?使它完全不可读,难以理解。我经常看到。如果您查看代码,则谷歌搜索页面是相同的方式。

我猜这是一种混淆策略,我想知道它是如何完成的。显然,他们在编写时并没有真正的代码——它必须经过某种转换。这是怎么做到的?

4

2 回答 2

5

这主要不是一种混淆策略。JQuery 的完整可读源是公开的。

那是缩小的代码。主要目的是使其加载更快,并更快地通过网络传输。

有多种缩小工具。我使用 Google Closure Compiler,它的功能远不止缩小,它还进行了一些优化,并且在查找编码错误方面做得很好,而且还生成了非常紧凑的代码。

缩小或编译的 js 很难阅读,因此可能会作为一种混淆方法。大多数人可能不会出于这个原因使用它。

于 2012-05-18T15:50:24.130 回答
2

这种方法(缩小)的真正价值是减少代码的大小,从而减少下载时间,从而使用户页面更快地可用。

谷歌搜索会发现有很多为此目的而设计的工具。

安全性结果是最小的,因为还有一些工具旨在美化 JavaScript 代码,这些工具会将缩小的代码重新变成可读的东西。众所周知,通过默默无闻的安全几乎等同于根本没有安全。如果您将代码放在公开可用的地方,人们可以阅读它。诀窍是确保这无关紧要。

于 2012-05-18T15:53:46.000 回答