


Perbezaan antara Function.prototype.apply dan Function.prototype.call dalam JavaScript
Function.prototype.apply dan Function.prototype.call ialah kaedah yang membolehkan anda memanggil fungsi dengan nilai dan parameter tertentu ini. Perbezaan utama antara kedua-duanya ialah yang terpakai membolehkan anda menghantar dalam tatasusunan parameter, manakala panggilan memerlukan anda menyenaraikan parameter satu demi satu.
Function.prototype.apply
>Function .prototype.apply ialah kaedah yang membolehkan anda memanggil fungsi dengan tatasusunan nilai dan hujah tertentu ini.
Syntax
Sintaks untuk menggunakan apply ialah -
func.apply(thisArg, argsArray)
Di sini thisArg ialah nilai yang akan digunakan seperti ini di dalam fungsi. argsArray ialah susunan hujah yang akan dihantar ke fungsi.
Contoh
Berikut ialah contoh memanggil fungsi menggunakan apply -
<!doctype html> <html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> function sayHello(name) { return "Hello, " + name + "!"; } document.getElementById("result").innerHTML = sayHello.apply(null, ["John"]) </script> </body> </html>
Output
Kod di atas akan mencetak output di bawah.
Hello, John!
Seperti yang anda boleh lihat, kami melepasi null untuk Arg ini kerana kami tidak mahu menetapkan nilai ini. Kami lulus tatasusunan untuk argsArray yang mengandungi parameter "John". Hasilnya ialah panggilan ke fungsi sayHello dengan "John" sebagai hujah nama.
Function.prototype.call
Function.prototype.call ialah fungsi yang membolehkan anda memanggil kaedah dengan senarai nilai dan parameter tertentu ini.
Syntax
Sintaks untuk menggunakan panggilan ialah
func.call(thisArg, arg1, arg2, ...)
di mana Arg ini ialah nilai yang akan digunakan seperti ini di dalam fungsi. arg1, arg2, ... adalah hujah yang akan dihantar ke fungsi.
Contoh
Berikut adalah contoh menggunakan panggilan Fungsi panggilan -
<!doctype html> <html> <head> <title>Examples</title> </head> <body> <div id="result"></div> <script> function sayHello(name) { return "Hello, " + name + "!"; } document.getElementById("result").innerHTML = sayHello.call(null, ["John"]) </script> </body> </html>
Output
Kod di atas akan mencetak output di bawah.
Hello, John!
Seperti yang anda boleh lihat, kami melepasi null untuk Arg ini kerana kami tidak mahu menetapkan nilai ini. Kami mengambil "John" sebagai satu-satunya parameter. Hasilnya ialah panggilan ke fungsi sayHello dengan "John" sebagai parameter nama.
Perbezaan antara Function.prototype.apply dan Function.prototype.call
Jadual di bawah menyerlahkan perbezaan utama antara Function.prototype.apply dan Function.prototype.call -
Asas Fungsi Perbandingan | applyFunction.prototype.call | ||
---|---|---|---|
Kaedah ini membolehkan kita memanggil fungsi dengan nilai | ini tertentu dan pelbagai parameter. | Kaedah ini membolehkan kita memanggil fungsi dengan nilaiini dan senarai hujah tertentu. | |
Kami lulus pelbagai parameter. | Kami lulus senarai parameter. | ||
Oleh kerana ia tidak mencipta fungsi baharu, ia lebih pantas daripada | memanggil. | em>Kerana setiap panggilan mencipta fungsi baharu, ia lebih perlahan daripada | memohon. Penggunaan objek. Panggil fungsi tanpa nama. |
Panggil fungsi dan nyatakan konteks "ini" |
|
Dalam tutorial ini, kami membincangkan perbezaan antara kaedah
|
Atas ialah kandungan terperinci Perbezaan antara Function.prototype.apply dan Function.prototype.call dalam JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Artikel membincangkan membuat, menerbitkan, dan mengekalkan perpustakaan JavaScript, memberi tumpuan kepada perancangan, pembangunan, ujian, dokumentasi, dan strategi promosi.

Artikel ini membincangkan strategi untuk mengoptimumkan prestasi JavaScript dalam pelayar, memberi tumpuan kepada mengurangkan masa pelaksanaan dan meminimumkan kesan pada kelajuan beban halaman.

Soalan dan penyelesaian yang sering ditanya untuk percetakan tiket kertas terma depan dalam pembangunan front-end, percetakan tiket adalah keperluan umum. Walau bagaimanapun, banyak pemaju sedang melaksanakan ...

Tidak ada gaji mutlak untuk pemaju Python dan JavaScript, bergantung kepada kemahiran dan keperluan industri. 1. Python boleh dibayar lebih banyak dalam sains data dan pembelajaran mesin. 2. JavaScript mempunyai permintaan yang besar dalam perkembangan depan dan stack penuh, dan gajinya juga cukup besar. 3. Faktor mempengaruhi termasuk pengalaman, lokasi geografi, saiz syarikat dan kemahiran khusus.

Artikel ini membincangkan debugging JavaScript yang berkesan menggunakan alat pemaju pelayar, memberi tumpuan kepada menetapkan titik putus, menggunakan konsol, dan menganalisis prestasi.

Artikel ini menerangkan cara menggunakan peta sumber untuk debug JavaScript minifikasi dengan memetakannya kembali ke kod asal. Ia membincangkan membolehkan peta sumber, menetapkan titik putus, dan menggunakan alat seperti Chrome Devtools dan Webpack.

Bagaimana cara menggabungkan elemen array dengan ID yang sama ke dalam satu objek dalam JavaScript? Semasa memproses data, kita sering menghadapi keperluan untuk mempunyai id yang sama ...

JavaScript adalah asas kepada pembangunan web moden, dan fungsi utamanya termasuk pengaturcaraan yang didorong oleh peristiwa, penjanaan kandungan dinamik dan pengaturcaraan tak segerak. 1) Pengaturcaraan yang didorong oleh peristiwa membolehkan laman web berubah secara dinamik mengikut operasi pengguna. 2) Penjanaan kandungan dinamik membolehkan kandungan halaman diselaraskan mengikut syarat. 3) Pengaturcaraan Asynchronous memastikan bahawa antara muka pengguna tidak disekat. JavaScript digunakan secara meluas dalam interaksi web, aplikasi satu halaman dan pembangunan sisi pelayan, sangat meningkatkan fleksibiliti pengalaman pengguna dan pembangunan silang platform.
