Unterschied von Wert, Prototyp und Eigentum
OK! Zuallererst kommt diese Frage von einem Mann, der zu tief im jQuery-Universum gräbt (und sich möglicherweise verirrt).
In meiner Recherche habe ich festgestellt, dass das Hauptmuster der jquery ungefähr so ist (bei Bedarf ist eine Korrektur angebracht):
(function (window, undefined) {
jQuery = function (arg) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init(arg);
},
jQuery.fn = jQuery.prototype = {
constructor: jQuery,
init: function (selector, context, rootjQuery) {
// get the selected DOM el.
// and returns an array
},
method: function () {
doSomeThing();
return this;
},
method2: function () {
doSomeThing();
return this;,
method3: function () {
doSomeThing();
return this;
};
jQuery.fn.init.prototype = jQuery.fn;
jQuery.extend = jQuery.fn.extend = function () {
//defines the extend method
};
// extends the jQuery function and adds some static methods
jQuery.extend({
method: function () {}
})
})
Wann$
initiiert diejQuery.prototype.init
initiiert und gibt ein Array von Elementen zurück. Aber ich konnte nicht verstehen, wie es die jQuery-Methode wie hinzufügt.css
oder.hide
,usw. zu diesem Array.
Ich bekomme die statischen Methoden. Konnte aber mit all diesen Methoden nicht herausfinden, wie es zurückgibt und welche Elemente es enthält.