Hal utama yang ingin saya selesaikan masalah berikut:
1. Apa perbedaan antara Apply dan Call
2. Penggunaan Aplikasi Cerdas Lainnya (biasanya dalam keadaan apa yang dapat digunakan digunakan)
Saya pertama kali menemukan definisi Apply dan Call dari Internet, dan kemudian menggunakan contoh untuk menjelaskan arti dari kedua metode ini dan bagaimana menggunakannya.
Terapkan: Metode ini dapat membajak metode objek lain dan mewarisi sifat -sifat objek lain.
Metode Function.Apply (OBJ, ARGS) dapat menerima dua parameter
OBJ: Objek ini akan menggantikan objek ini di kelas fungsi
Args: Ini adalah array, ini akan disahkan sebagai argumen untuk berfungsi (args-> argumen)
Panggilan: Berarti sama seperti berlaku, tetapi daftar parameter berbeda.
Function.call (obj, param1, param2,…, paramn)
OBJ: Objek ini akan menggantikan objek ini di kelas fungsi
Params: Ini adalah daftar parameter
Terapkan Contoh:
<script type = "text/javascript">/*Tentukan orang manusia*/fungsi (nama, usia) {this.name = name; this.age = usia;} /*Tentukan kelas siswa* /functionstudent (nama, usia, kelas) {person.Apply (ini, argumen); this.grade = grade;} // Buat kelas siswa var student = siswa baru ("qian", 21, "kelas satu"); // tes alert ("nama:"+student.name+"/n"+"usia:"+student.age+"/n"+"Nilai Kelas: Nilai Student.//Anda tidak dapat melihat nama tes: 21 Nilai. Mengapa kedua atribut ini memiliki nilai? Ini adalah keajaiban Apply. </script>Analisis: Person.Apply (ini, argumen);
Ini: Saat membuat objek, itu mewakili siswa
Argumen: adalah array, yaitu ["Qian", "21", "kelas satu"];
Dengan kata lain, dalam istilah awam, itu adalah: gunakan siswa untuk menjalankan isi kelas orang. Ada pernyataan seperti ini. Nama di kelas pribadi, sehingga atribut dibuat menjadi objek siswa.
Contoh panggilan
Dalam fungsi Studen, Anda dapat memodifikasi yang berlaku untuk yang berikut:
Person.call (ini, nama, usia);
perbedaannya
Saat memberikan parameter objek, jika formulir parameter adalah array, misalnya, argumen parameter dilewatkan dalam contoh yang berlaku, parameter ini adalah jenis array, dan ketika orang yang menelepon, daftar parameter sesuai dengan yang sama (yaitu, dua digit pertama dari daftar parameter orang dan siswa konsisten), Anda dapat menggunakan Apply. Jika daftar parameter orang saya seperti ini (usia, nama), dan daftar parameter siswa adalah (nama, usia, kelas), ini dapat dicapai dengan menelepon, yaitu, secara langsung menentukan posisi nilai yang sesuai dari daftar parameter (orang.
Beberapa penggunaan aplikle pintar lainnya
Orang yang hati -hati mungkin telah memperhatikan bahwa ketika saya memanggil metode Apply, parameter pertama adalah objek (ini), dan parameter kedua adalah koleksi array.
Saat menelepon orang, yang dia butuhkan bukanlah array, tetapi mengapa dia memberi saya array, saya masih dapat menguraikan array menjadi satu parameter,
Ini adalah penggunaan Apply yang cerdas. Anda dapat mengonversi array ke daftar parameter secara default ([param1, param2, param3] ke param1, param2, param3). Jika kami menggunakan program untuk mengimplementasikan implementasi mengganti setiap item dalam array dengan daftar parameter, mungkin perlu beberapa saat. Dengan bantuan fitur Apply ini, kami memiliki metode yang efisien berikut:
a) Math.max dapat mencapai item terbesar di array
Karena Parameter Math.max tidak mendukung Math.max ([param1, param2]) yaitu array
Namun, ini mendukung Math.max (param1, param2, param3 ...), sehingga Anda dapat menyelesaikan masalah var max = math.max.Apply (null, array) berdasarkan fitur Apply sekarang, sehingga Anda dapat dengan mudah mendapatkan item terbesar dalam array
(berlaku akan menggantikan unit array dengan satu parameter dan berikan ke metode satu demi satu)
Ketika bagian ini dipanggil, parameter pertama diberikan nol. Ini karena tidak ada objek untuk memanggil metode ini. Saya hanya perlu menggunakan metode ini untuk membantu saya menghitung dan mendapatkan hasil yang dikembalikan. Jadi saya langsung melewati nol
b) Math.Min dapat mencapai item terkecil di array
Juga, itu sama dengan max
var min = math.min.Apply (null, array);
c) array.prototype.push dapat menerapkan kombinasi dua array
Metode Push tidak memberikan dorongan array, tetapi memberikan push (param1, param, ... paramn) sehingga Anda juga dapat menginstal dan mengganti array dengan menerapkan, yaitu:
vararr1 = array baru ("1", "2", "3"); vARARR2 = array baru ("4", "5", "6"); Array.prototype.push.Apply (ARR1, ARR2);Ini juga dapat dipahami dengan cara ini, ARR1 memanggil metode push, dan parameter digantikan dengan menerapkan rakitan array ke dalam satu set daftar parameter.
Di atas adalah pemahaman penuh tentang panggilan input kunci yang dibawa oleh editor kepada Anda. Saya harap semua orang dapat mendukung wulin.com ~