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
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)
Kedua, parameter pertama kaedah panggilan tidak berubah ialah parameter yang selebihnya adalah semua parameter yang dihantar ke fungsi perlu disenaraikan satu demi satu
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.
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
Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua akan menyukainya.