如下, 变量名 与 函数名 均以 a,b,c...z 命名,这样写明显不利于阅读及维护,但是为了什么?有什么好处?难道这种写法仅是为了防止别人用吗? 如果说是为了防止别人用,那如何把普通js代码转为下面的代码?
(function(a) {
var b = "0.3.4",
c = "hasOwnProperty",
d = /[\.\/]/,
e = "*",
f = function() {},
g = function(a, b) {
return a - b
},
h,
i,
j = {
n: {}
},
k = function(a, b) {
var c = j,
d = i,
e = Array.prototype.slice.call(arguments, 2),
f = k.listeners(a),
l = 0,
m = !1,
... 略过 ...
return q.length ? q: null
};
})();
确实如楼主说的,一定程度上它起到了代码混淆的作用。但是另一方面,变量替换为较短的字符,也是起到了较少 JS 文件体积,节省网络带宽,也是前端优化常用的方法。
压缩js代码后的效果,用于前端优化。 比如一些*-min.js
搜索js加密 js混淆就有你要的结果。