Werfen wir zunächst einen Blick auf die Prototypeigenschaften und -methoden, die in jQuery 1.7.1 definiert sind?
Das erste ist das Konstruktorattribut
Ich glaube, dass Entwickler, die mit dem objektorientierten Teil von js vertraut sind, damit vertraut sind, einer Funktion, die zur Rückgabe von Objektattributen verwendet wird. Hier ist ein einfaches Beispiel:
function Person(){}; var person=new Person(); alert(person.constructor); //function Person(){}
Wenn wir Vererbung schreiben, fügen wir gerne alle Prototypeigenschaften und -methoden in ein separates Objektliteral ein. Dies führt dazu, dass das Konstruktorattribut nicht mit dem „tatsächlichen“ Zeiger übereinstimmt
function Person(){ } Person.prototype={ say:function(msg){ alert(msg); } } var person=new Person(); person.say('hello'); alert(person.constructor); //function Object(){[native code]}
Selektorattribut Das
selector-Attribut ist für die Verwendung von jquey als js-Bibliothek nicht nützlich. Es wird hauptsächlich zum Entwickeln von Plug-Ins oder Modifikationen basierend auf jquery verwendet. Dieses Attribut gibt die Selektorzeichenfolge zurück, um das aktuelle jquery-Objekt abzurufen, zum Beispiel:
var obj=$('div a'); console.log(obj.selector);//'div a'
jquery-Attribut
Diese Eigenschaft gibt die aktuell verwendete jQuery-Version zurück
console.log($('body').jquery); //1.7.1
Längenattribut
Dieses Attribut gibt die Anzahl der im JQuery-Objekt enthaltenen Elemente zurück. Beispiel:
console.log ( $('body') .length); //1
constructor: jQuery, // Start with an empty selector selector: "", // The current version of jQuery being used jquery: "1.7.1", // The default length of a jQuery object is 0 length: 0,
Größenmethode
// The number of elements contained in the matched element set size: function() { return this.length; },
toArray-Methode
toArray: function() { return slice.call( this, 0 ); },
alert($('li').toArray()); [<li id="foo">, <li id="bar">]
// Save a reference to some core methods 87 toString = Object.prototype.toString, 88 hasOwn = Object.prototype.hasOwnProperty, 89 push = Array.prototype.push, 90 slice = Array.prototype.slice, 91 trim = String.prototype.trim, 92 indexOf = Array.prototype.indexOf,
<!doctype html> <html> <head> <meta charset='utf-8'/> <title>jQuery源码分析-原型属性和方法</title> </head> <body> <div> </div> <div></div> </body> <script src='jquery-1.7.1.js'></script> <script> var divs=document.getElementsByTagName('div'); console.log(divs); //[div, div] alert(divs instanceof Array); //fasle alert(Array.prototype.slice.call(divs,0) instanceof Array); //true </script> </html>
Methode abrufen
// Get the Nth element in the matched element set OR // Get the whole matched element set as a clean array get: function( num ) { return num == null ? // Return a 'clean' array this.toArray() : // Return just the object ( num < 0 ? this[ this.length + num ] : this[ num ] ); },
zurückgegeben.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.