Rumah >hujung hadapan web >tutorial js >Apakah itu jQuery.fn dan Bagaimana Ia Berfungsi?

Apakah itu jQuery.fn dan Bagaimana Ia Berfungsi?

DDD
DDDasal
2024-11-05 03:57:02358semak imbas

What is jQuery.fn and How Does It Work?

jQuery.fn: Prototaip Aliasing dalam jQuery

Dalam jQuery, istilah "fn" yang ditemui dalam jQuery.fn.jquery merujuk kepada alias untuk sifat prototaip fungsi pembina jQuery ($). Untuk memahami perkara ini, adalah penting untuk memahami konsep fungsi pembina dalam JavaScript.

Fungsi pembina digunakan untuk mencipta tika objek, yang setiap satunya mewarisi sifat dan kaedah daripada prototaip pembina. Dalam kes jQuery, pengecam $ berfungsi sebagai fungsi pembina.

Sebagai contoh, pertimbangkan fungsi pembina berikut:

<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>

Fungsi pembina Ujian mencipta ujian contoh yang diwarisi daripada prototaipnya . Contoh ujian mempunyai sifatnya sendiri a, manakala b diwarisi daripada prototaip.

Begitu juga, jQuery mengikuti pendekatan yang serupa:

<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>

Di sini, alias fn menunjuk kepada prototaip fungsi foo constructor. Memperluaskan sifat fn membenarkan penambahan kaedah baharu (seperti myPlugin dalam contoh) pada semua tika pembina foo.

Atas ialah kandungan terperinci Apakah itu jQuery.fn dan Bagaimana Ia Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn