Rumah  >  Artikel  >  hujung hadapan web  >  Perbincangan ringkas tentang atribut fungsi javascript dan kemahiran method_javascript

Perbincangan ringkas tentang atribut fungsi javascript dan kemahiran method_javascript

WBOY
WBOYasal
2016-05-16 16:18:46833semak imbas

Setiap fungsi mengandungi dua sifat: panjang dan prototaip
​​Panjang: Bilangan parameter bernama yang diharapkan oleh fungsi semasa untuk menerima
Prototaip: Ia adalah tempat sebenar untuk menyelamatkan semua kaedah kekuatan mereka

Salin kod Kod adalah seperti berikut:

fungsi sebutNama(nama) {
makluman(nama);
}
fungsi jumlah(bilangan1, bilangan2) {
                kembalikan nombor1 nombor2;
}
fungsi sayHi() {
               makluman("hai");
}
alert(sayName.length);//1 Bilangan parameter ialah satu
​​ alert(sum.length);//2 Bilangan parameter: 2
alert(sayHi.length);//0 Tiada parameter

Setiap fungsi mengandungi dua kaedah tidak diwarisi: apply() dan call()
Kedua-dua kaedah ini memanggil fungsi dalam skop tertentu, yang sebenarnya bersamaan dengan menetapkan nilai objek ini dalam badan fungsi
Pertama, apply() menerima dua parameter: satu ialah skop di mana fungsi berjalan, dan satu lagi ialah tatasusunan parameter (yang boleh menjadi contoh tatasusunan atau objek argumen)

Salin kod Kod adalah seperti berikut:

fungsi jumlah(bilangan1, bilangan2) {
                kembalikan nombor1 nombor2;
}
function callSum1(num1, num2) {
                 return sum.apply(this, arguments);//Lepaskan objek argumen
}
          fungsi callSum2(num1, num2) {
              pulangan sum.apply(ini, [nombor1, nombor2]);
}
alert(callSum1(10, 10));//20
alert(callSum2(10, 20));//30

Kedua, parameter pertama kaedah panggilan tidak berubah ialah parameter yang selebihnya adalah semua parameter yang dihantar ke fungsi perlu disenaraikan satu demi satu

Salin kod Kod adalah seperti berikut:

function sum(num1, num2) {
                kembalikan nombor1 nombor2;
}
         fungsi callSum(num1, num2) {
               pulangkan sum.call(ini, num1, num2);
}
alert(callSum(10, 200));

Kaedah mana yang lebih senang digunakan, semuanya bergantung pada kehendak anda. Jika tiada parameter, ia akan sama tanpa mengira yang mana satu digunakan.
                      Walau bagaimanapun, kaedah guna dan panggilan pastinya bukan hanya untuk cara mendapatkan parameter badan kapal.
Penggunaan sebenar seni mempertahankan diri mereka adalah untuk mengembangkan fungsi fungsi.

Salin kod Kod adalah seperti berikut:

          window.color = "merah";
      var o = {warna: "biru"};
fungsi sayColor() {
makluman(warna.ini);
}
         sayColor();//merah
          sayColor.call(this);//red
          sayColor.call(window);//red
          sayColor.call(o);//biru

Kelebihan terbesar menggunakan apply dan call untuk mengembangkan skop ialah ia tidak memerlukan sebarang hubungan gandingan dengan kaedah tersebut.

ECMAScript5 juga mentakrifkan kaedah: bind(). Kaedah ini akan mencipta contoh fungsi yang nilai ini akan terikat pada nilai yang dihantar ke fungsi bind

Salin kod Kod adalah seperti berikut:

window.color = "merah";
      var o = {warna: "biru"};
fungsi sayColor() {
makluman(warna.ini);
}
        var bindFun = sayColor.bind(o);
        bindFun();//biru

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

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