ホームページ > 記事 > ウェブフロントエンド > jQueryのプロトタイププロパティとプロトタイプメソッドの詳しい解説_jquery
まず、jQuery 1.7.1 で定義されているプロトタイプのプロパティとメソッドを見てみましょう。
最初はコンストラクター属性です
js のオブジェクト指向の部分に精通している開発者は、オブジェクト属性の作成を返すために使用される関数に精通していると思います。
簡単な例を示します。function Person(){}; var person=new Person(); alert(person.constructor); //function Person(){}
継承を記述するときは、すべてのプロトタイプのプロパティとメソッドを別のオブジェクト リテラルに配置することを好みます。これにより、コンストラクター属性が「実際の」ポインターと不一致になります。例:
function Person(){ } Person.prototype={ say:function(msg){ alert(msg); } } var person=new Person(); person.say('hello'); alert(person.constructor); //function Object(){[native code]}
リテラル オブジェクトは Object のインスタンスであるため、この時点でポインティングが変更されます。当然、この「エラー」を修正するには、コンストラクター属性を手動で変更する必要があります。ソースコードのconstructor:jQueryの説明
セレクター属性
selector 属性は、jquey を js ライブラリとして使用する場合には役に立ちません。主に、jquery に基づくプラグインや変更を開発するために使用されます。この属性は、次のような現在の jquery オブジェクトを取得するためのセレクター文字列を返します。 🎜>
var obj=$('div a'); console.log(obj.selector);//'div a'
jquery 属性
このプロパティは、現在使用されている jQuery のバージョンを返します
console.log($('body').jquery); //1.7.1
長さ属性
この属性は、jquery オブジェクトに含まれる要素の数を返します。例:。
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,
サイズメソッド
// The number of elements contained in the matched element set size: function() { return this.length; },
toArray メソッド
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>
メソッドを取得
// 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 ] ); },
が返されます。
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。