2
(function (a) {
    var r = a.fn.domManip,
        d = "_tmplitem",
        q = /^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,
        b = {}, f = {}, e, p = {
            key: 0,
            data: {}
        }, h = 0,
        c = 0,
        l = [];

    function g(e, d, g, i) {
        var c = {
            data: i || (d ? d.data : {}),
            _wrap: d ? d._wrap : null,
            tmpl: null,
            parent: d || null,
            nodes: [],
            calls: u,
            nest: w,
            wrap: x,
            html: v,
            update: t
        };
        e && a.extend(c, e, {
            nodes: [],
            parent: d
        });
        if (g) {
            c.tmpl = g;
            c._ctnt = c._ctnt || c.tmpl(a, c);
            c.key = ++h;
            (l.length ? f : b)[h] = c
        }
        return c
    }
    a.each({
        appendTo: "append",
        prependTo: "prepend",
        insertBefore: "before",
        insertAfter: "after",
        replaceAll: "replaceWith"...

问题:

以上代码取自http://ajax.aspnetcdn.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js

这里使用了很多字母(a,b,c...)。而且我见过其他的js文件也用这种方式。所以我只是想知道这背后的原因是什么?使用字母作为函数名、参数和变量来节省内存还是为了什么?

4

5 回答 5

1

这是代码的缩小版本。这意味着函数名称和参数的字符串长度会缩短以保留文件大小。

流行的 jQuery 库也是如此。例如,比较两个版本,缩小版和未缩小版。

于 2013-06-20T08:49:55.697 回答
1

它被称为缩小,它既用于混淆(在某种程度上)又用于减小 JavaScript 代码的整体大小。

YUICompressor 之类的工具将为您完成此任务。我将它设置为一个后期构建任务,在我部署之前运行我的所有 JavaScript。

于 2013-06-20T08:50:02.770 回答
0

您从 jquery.tmpl 中提取了它。最小.js。Javascript 文件通常会被工具最小化,以减少网络带宽并加快加载速度。

在开发过程中,使用普通变量名来增加可读性。

于 2013-06-20T08:50:12.740 回答
0

因为它已经被缩小了。代码运行不需要完整的变量名,因此开发人员通常通过工具运行代码以删除冗余材料以减小大小并缩短下载时间。

您可以下载 jQuery 的完整源代码并使用它,在部署网站时将其替换为缩小版本。

于 2013-06-20T08:50:44.747 回答
0

那是一个缩小的 js 文件,(因此文件名中有“.min.”)。减少变量名称以节省带宽使用。想想有带宽上限的人,或者通过慢速网络传输的人,每一点都会有所帮助。

于 2013-06-20T08:50:53.273 回答