jQuery.fn:jQuery 中的原型別名
在jQuery 中,jQuery.fn.jquery 中遇到的術語“fn”指的是jQuery 建構函式的原型屬性的別名($)。要理解這一點,掌握 JavaScript 中建構函數的概念至關重要。
建構函式用於建立物件實例,每個物件都從建構函式的原型繼承屬性和方法。在 jQuery 的情況下, $ 標識符充當建構子。
例如,考慮以下建構子:
<code class="javascript">function Test() { this.a = 'a'; } Test.prototype.b = 'b'; var test = new Test(); test.a; // "a", own property test.b; // "b", inherited property</code>
Test 建構子建立一個繼承自其原型的實例 test 。測試實例有自己的屬性 a,而 b 是從原型繼承的。
同樣,jQuery 也遵循類似的做法:
<code class="javascript">(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"</code>
這裡,fn 別名指向原型foo 建構子。擴展 fn 屬性允許在 foo 建構函數的所有實例中新增方法(例如範例中的 myPlugin)。
以上是什麼是 jQuery.fn 及其工作原理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!