javascript – jQuery.fn是什么意思?

这里的’fn’是什么意思?

window.jQuery.fn.jquery

在jQuery中,该fn属性只是属性的别名prototype

jQuery标识符(或$)仅仅是一个构造函数,并用它创建的所有实例,从构造函数的原型继承。

一个简单的构造函数:

function Test() {
  this.a = 'a';
}
Test.prototype.b = 'b';

var test = new Test(); 
test.a; // "a", own property
test.b; // "b", inherited property

一个类似于jQuery体系结构的简单结构:

(function() {
  var foo = function(arg) { // core constructor
    // ensure to use the `new` operator
    if (!(this instanceof foo))
      return new foo(arg);
    // store an argument for this example
    this.myArg = arg;
    //..
  };

  // create `fn` alias to `prototype` property
  foo.fn = foo.prototype = {
    init: function () {/*...*/}
    //...
  };

  // expose the library
  window.foo = foo;
})();

// Extension:

foo.fn.myPlugin = function () {
  alert(this.myArg);
  return this; // return `this` for chainability
};

foo("bar").myPlugin(); // alerts "bar"

jQuery.fn被定义为速记jQuery.prototype。从源代码

jQuery.fn = jQuery.prototype = {
    // ...
}

这意味着它jQuery.fn.jquery是一个别名jQuery.prototype.jquery,它返回当前的jQuery版本。再次从源代码

// The current version of jQuery being used
jquery: "@VERSION",

添加评论

友情链接:蝴蝶教程