e.fn在这段代码中的含义是什么?

时间:2013-12-05 20:13:14

标签: javascript

我正在查看quojs库中的这个javascript代码:

(function() {
  var e;
  e = function() {
    var e, t, n;
    t = [];
    e = function(t, r) {
      var i;
      if (!t) {
        return n()
      } else if (e.toType(t) === "function") {
        return e(document).ready(t)
      } else {
        i = e.getDOMObject(t, r);
        return n(i, t)
      }
    };
    n = function(e, r) {
      e = e || t;
      e.__proto__ = n.prototype;
      e.selector = r || "";
      return e
    };
    e.extend = function(e) {
      Array.prototype.slice.call(arguments, 1).forEach(function(t) {
        var n, r;
        r = [];
        for (n in t) {
          r.push(e[n] = t[n])
        }
        return r
      });
      return e
    };
    n.prototype = e.fn = {};
    return e
  }();

在此之前:

(function () {
    (function (e) {
        var t, n, r, i, u, a;
        r = "parentNode";
        t = /^\.([\w-]+)$/;
        n = /^#[\w\d-]+$/;
        i = /^[\w-]+$/;
        e.query = function (e, r) {
            var u;
            r = r.trim();
            if (t.test(r)) {
                u = e.getElementsByClassName(r.replace(".", ""))
            } else if (i.test(r)) {
                u = e.getElementsByTagName(r)
            } else if (n.test(r) && e === document) {
                u = e.getElementById(r.replace("#", ""));
                if (!u) {
                    u = []
                }
            } else {
                u = e.querySelectorAll(r)
            }
            if (u.nodeType) {
                return [u]
            } else {
                return Array.prototype.slice.call(u)
            }
        };

        e.fn.find = function (t) {

我想了解e.fn的含义。

我看到fn不是reserved word。我认为e只是作为参数传递的事件对象的名称。那么e.fn是什么意思?代码是否假设传递的任何内容都具有名为fn的属性?或者是某种引用该函数的缩写?

1 个答案:

答案 0 :(得分:0)

无论传递什么,因为e应该有一个名为fn的属性。我会在其余的代码中搜索“fn”,看看你想出了什么。