Kaedah panggilan memanggil fungsi atau kaedah menggunakan nilai ini yang ditentukan dan beberapa nilai parameter yang ditentukan.
Nota: Sintaks fungsi ini hampir sama dengan kaedah apply() Satu-satunya perbezaan ialah kaedah apply() menerima tatasusunan parameter, manakala panggilan Kaedah () menerima senarai parameter.
Setelah memahami konsep kedua-dua kaedah ini, mari kita fahami aplikasinya langkah demi langkah.
Tukar penunjuk ini dalam kaedah
Mari kita lihat contoh berikut
var name = "编程的人"; var age = 1; var person = { name:"公众号:bianchengderen", age:20 } function say(){ console.log("我叫:"+this.name+",年龄:"+this.age) } say();// 我叫: 编程的人,年龄: 1 say.call(person);//年龄:20
Kaedah pelaksanaan kedua-dua panggilan ini berbeza, dan keputusannya juga berbeza. Perbezaannya ialah ini dalam kaedah say menghala ke objek yang berbeza, dan kami melaksanakannya dalam mod panggilan. Halakan ini dalam kaedah sebut kepada objek orang.
Tidakkah ini terasa seperti berpura-pura menjadi orang lain. Jadi, apa gunanya, anda boleh memikirkan lebih lanjut tentang perkara yang boleh anda lakukan.
Melaksanakan mekanisme pewarisan
Warisan, ini adalah ciri berorientasikan objek lanjutan Menggunakan panggilan, kita boleh menggunakan JAVASCRIPT untuk memiliki ciri ini.
Sebelum melihat contoh berikut, anda mesti mempunyai pemahaman yang baik tentang contoh di atas.
function Person(){ this.name = "编程的人"; this.age = 20; } function Student(){ Person.call(this); this.school = "地球"; } var student = new Student(); //下面打印出来: 编程的人,20,地球 console.log(student.name,student.age,student.school);
Dalam contoh ini, fungsi Pelajar mewarisi nama dan atribut umur Person, yang dilaksanakan melalui Person.call(ini Selepas memahami contoh di atas, ia sepatutnya tidak sukar untuk difahami. dan mempunyai personaliti tersendiri seperti ini.sekolah.
Di sini, kami tidak melibatkan penambahan parameter untuk dilalui. Ini untuk memudahkan pemahaman semua orang. Anda boleh mencuba kod tersebut dan melihat cara ia berfungsi
Mari kita bincangkan tentang dua contoh ini dahulu, dan kemudian kaji secara mendalam.