我已将angularJS源代码复制并粘贴到在线美化器中,然后开始阅读它。我遇到的是一组函数,其中包含单个或双字母作为其名称,并且其中有许多代码似乎含糊不清(当然,FOR ME)。
例如,AngularJS的第一个块以此函数开始:
function t(b) {
return function () {
var a = arguments[0],
c, a = "[" + (b ? b + ":" : "") + a + "] http://errors.angularjs.org/1.2.16/" + (b ? b + "/" : "") + a;
for (c = 1; c < arguments.length; c++) a = a + (1 == c ? "?" : "&") + "p" + (c - 1) + "=" + encodeURIComponent("function" == typeof arguments[c] ? arguments[c].toString().replace(/ \{[\s\S]*$/, "") : "undefined" == typeof arguments[c] ? "undefined" : "string" != typeof arguments[c] ? JSON.stringify(arguments[c]) : arguments[c]);
return Error(a)
}
}
我真的不太了解这个剧本,但这肯定是我缺乏足够的知识。现在,我有这个问题:
为什么namings是这样的?这是他们的选择还是背后有一些技术原因?那么如何将这些代码作为代码阅读过程进行分析和分析呢?
答案 0 :(得分:2)
您正在查看的代码是缩小版本(由一些缩小器示例YUI-minifier处理),这样做是为了使代码大小变小。尝试看看脚本的未经编辑的版本,你会清楚地知道。