Rumah > hujung hadapan web > tutorial js > Penjelasan terperinci tentang sifat prototaip jQuery dan kaedah prototaip_jquery

Penjelasan terperinci tentang sifat prototaip jQuery dan kaedah prototaip_jquery

WBOY
Lepaskan: 2016-05-16 15:51:07
asal
1768 orang telah melayarinya

Pertama, mari kita lihat sifat prototaip dan kaedah yang ditakrifkan dalam jQuery 1.7.1?

Yang pertama ialah atribut pembina

Saya percaya pembangun yang biasa dengan bahagian berorientasikan objek js sudah biasa dengannya, iaitu fungsi yang digunakan untuk mengembalikan penciptaan atribut objek Berikut ialah contoh mudah:

function Person(){};
    var person=new Person();
    alert(person.constructor); //function Person(){}
Salin selepas log masuk

Apabila kami menulis warisan, kami suka meletakkan semua sifat dan kaedah prototaip dalam literal objek yang berasingan Ini akan menyebabkan atribut pembina tidak konsisten dengan penunjuk "sebenar".

  function Person(){

    }

    Person.prototype={
      say:function(msg){
        alert(msg); 
      }
    }

    var person=new Person();
    person.say('hello');
    alert(person.constructor); //function Object(){[native code]}

Salin selepas log masuk
Penunjukan akan berubah pada masa ini kerana objek literal adalah contoh Object Sememangnya, atribut pembina akan melaksanakan Objek Untuk membetulkan "ralat" ini, ia biasanya perlu diubah suai secara manual kod. Penjelasan constructor:jQuery dalam kod sumber

atribut pemilih Atribut

pemilih tidak berguna untuk menggunakan jquey sebagai perpustakaan js Ia digunakan terutamanya untuk membangunkan pemalam atau pengubahsuaian berdasarkan jquery Atribut ini akan mengembalikan rentetan pemilih untuk mendapatkan objek jquery semasa, contohnya:

var obj=$('div a');
console.log(obj.selector);//'div a'

Salin selepas log masuk

atribut jquery

Harta ini mengembalikan versi jQuery yang sedang digunakan

console.log($('body').jquery); //1.7.1

Salin selepas log masuk

atribut panjang

Atribut ini mengembalikan bilangan elemen yang terkandung dalam objek jquery Contohnya:

console.log ( $('body') .length); //1
Salin selepas log masuk
Kod sumber bagi empat atribut ini adalah seperti berikut:

  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,

Salin selepas log masuk

kaedah saiz

// The number of elements contained in the matched element set
  size: function() {
    return this.length;
  },

Salin selepas log masuk
Kaedah ini mengembalikan atribut panjang objek jquery Adalah disyorkan untuk menggunakan atribut panjang, yang boleh mengurangkan overhed panggilan fungsi yang tidak diperlukan

kaedah toArray

toArray: function() {
    return slice.call( this, 0 );
  },
Salin selepas log masuk
Pulihkan semua elemen DOM dalam koleksi jQuery ke dalam tatasusunan.

alert($('li').toArray());
[<li id="foo">, <li id="bar">]
Salin selepas log masuk
Pertama sekali, kaedah hirisan di sini telah dikekalkan dalam pembina jQuery, iaitu kaedah prototaip Array

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

Salin selepas log masuk
Laksanakan penyamaran objek melalui kaedah panggilan Melepasi dalam parameter 0 bermakna tiada pemintasan Memandangkan kaedah ini akan mengembalikan tatasusunan bersih, yang merupakan tatasusunan tulen, ini merealisasikan perubahan daripada objek jquery kepada tatasusunan tulen kelas pada masa hadapan Kaedah ini juga boleh digunakan untuk penukaran dalam bentuk tatasusunan Contohnya:

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

Salin selepas log masuk
Jadi mempelajari kod sumber jqeury bukan sahaja berguna untuk menggunakan jquery, tetapi anda juga boleh mempelajari banyak kemahiran penggunaan js

dapatkan kaedah

// 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 &#63;

      // Return a 'clean' array
      this.toArray() :

      // Return just the object
      ( num < 0 &#63; this[ this.length + num ] : this[ num ] );
  },

Salin selepas log masuk
Kaedah ini berfungsi dengan mencari salah satu elemen dalam objek jquery dan mengembalikan objek elemen nod asal dan bukannya objek jquery Kaedah ini menerima parameter jika parameter tidak wujud. Kemudian panggil kaedah toArray untuk mengembalikan tatasusunan yang mengandungi semua elemen Jika nombor itu lebih besar daripada 0, ia boleh diperoleh secara langsung dengan melanggan kaedah, kita perlu menyokong subskrip positif dan negatif. Jika apa yang ditulis bukan nombor, atau melebihi panjang elemen yang terkandung dalam objek semasa, tidak ditentukan.

akan dikembalikan.

Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan