Jadual Kandungan
Apakah perbezaan antara panggilan dan gunakan dalam JavaScript
Rumah hujung hadapan web Soal Jawab bahagian hadapan Apakah perbezaan antara panggilan dan gunakan dalam javascript

Apakah perbezaan antara panggilan dan gunakan dalam javascript

Jan 28, 2022 pm 03:24 PM
html javascript hujung hadapan

Dalam JavaScript, kaedah panggilan() dan kaedah apply() mempunyai fungsi yang sama Perbezaannya terletak pada cara menerima parameter Apabila menggunakan kaedah panggilan(), parameter yang dihantar kepada fungsi itu mesti disenaraikan satu demi satu Use When apply(), tatasusunan parameter dihantar ke fungsi.

Apakah perbezaan antara panggilan dan gunakan dalam javascript

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi JavaScript 1.8.5, komputer Dell G3.

Apakah perbezaan antara panggilan dan gunakan dalam JavaScript

Kaedah panggilan() memanggil fungsi dengan nilai ini yang ditentukan dan parameter yang disediakan secara berasingan (senarai parameter).

Nota: Fungsi kaedah ini adalah serupa dengan kaedah apply() Satu-satunya perbezaan ialah kaedah call() menerima senarai beberapa parameter, manakala kaedah apply() menerima senarai berbilang. tatasusunan.

Sintaks

fun.call(thisObj[, arg1[, arg2[, ...]]])
Salin selepas log masuk

Definisi: Panggil kaedah objek untuk menggantikan objek semasa dengan objek lain.

Penjelasan:

Kaedah panggilan boleh digunakan untuk memanggil kaedah dan bukannya objek lain. Kaedah panggilan menukar konteks objek fungsi daripada konteks awal kepada objek baharu yang ditentukan oleh thisObj.

Jika tiada parameter thisObj disediakan, objek Global digunakan sebagai thisObj.

Parameter

ThisObj

Nilai ini ditentukan apabila fungsi keseronokan sedang berjalan. Perlu diingatkan bahawa nilai ini yang dinyatakan tidak semestinya nilai ini sebenar apabila fungsi dilaksanakan Jika fungsi dalam mod tidak ketat, nilai ini yang dinyatakan sebagai null dan undefined akan secara automatik menunjuk ke nilai global. objek tetingkap dalam penyemak imbas), dan ini yang nilainya ialah nilai primitif (nombor, rentetan, nilai Boolean) akan menunjuk ke objek pembalut automatik bagi nilai primitif.

  arg1, arg2, ...

  Senarai parameter yang ditentukan.

Nilai pulangan

Hasil pulangan termasuk nilai dan parameter yang dinyatakan ini. Kaedah

apply()

apply() memanggil fungsi dengan nilai ini yang ditentukan dan disediakan sebagai parameter tatasusunan (atau objek seperti tatasusunan).

Sintaks

Definisi: Gunakan kaedah objek dan gantikan objek semasa dengan objek lain.
fun.apply(thisObj, [argsArray])
Salin selepas log masuk

 Nota:

  Jika argsArray bukan tatasusunan yang sah atau bukan objek argumen, TypeError akan berlaku.

  Jika argArray mahupun thisObj tidak disediakan, maka objek Global akan digunakan sebagai thisObj dan tiada parameter boleh dilalui.

Parameter

thisObj

  Nilai ini ditentukan apabila fungsi keseronokan sedang berjalan. Perlu diingatkan bahawa nilai ini yang dinyatakan tidak semestinya nilai ini sebenar apabila fungsi tersebut dilaksanakan Jika fungsi berada dalam mod tidak ketat, maka

yang ditentukan akan secara automatik menghala ke objek global apabila ia. adalah batal atau tidak ditentukan ( Ia adalah objek tetingkap dalam penyemak imbas), dan ini yang nilainya ialah nilai primitif (nombor, rentetan, nilai Boolean) akan menunjuk ke objek pembalut automatik bagi nilai primitif.

argsArray

Tatasusunan atau objek seperti tatasusunan, elemen tatasusunan yang akan dihantar ke fungsi keseronokan sebagai parameter berasingan. Jika nilai parameter ini adalah batal atau tidak ditentukan, ini bermakna tiada parameter perlu dihantar. Bermula dari ECMAScript 5

  adalah mungkin untuk menggunakan objek seperti tatasusunan.

Ringkasan

Kedua-duanya mempunyai kesan yang sama, kedua-duanya mengikat obj (iaitu ini) dengan thisObj. Pada masa ini, thisObj mempunyai sifat dan kaedah obj. Dalam erti kata lain, thisObj "mewarisi" sifat dan kaedah obj.

Satu-satunya perbezaan ialah penggunaan menerima parameter tatasusunan, manakala panggilan menerima parameter berterusan.

Kaedah call() dan kaedah apply() mempunyai fungsi yang sama Perbezaan antara keduanya terletak pada cara mereka menerima parameter. Untuk call(), parameter pertama ialah nilai ini yang tidak berubah ialah parameter yang selebihnya dihantar terus ke fungsi. (Apabila menggunakan kaedah panggilan(), parameter yang dihantar ke fungsi mesti disenaraikan satu demi satu. Apabila menggunakan apply(), tatasusunan parameter dihantar ke fungsi) Kod berikut diterangkan:

panggilan dan gunakan wujud untuk menukar konteks apabila fungsi sedang berjalan, dengan kata lain, ia adalah untuk menukar penunjuk ini di dalam badan fungsi. Kerana fungsi JavaScript mempunyai konsep "konteks definisi" dan "konteks masa jalan" dan "konteks boleh diubah".
function add(c, d){
    return this.a + this.b + c + d;
}
var o = {a:1, b:3};
add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16
add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34 
Salin selepas log masuk

Kedua-dua fungsi adalah sama, tetapi cara menerima parameter adalah berbeza. Contohnya, terdapat fungsi fun yang ditakrifkan seperti berikut:

boleh dipanggil melalui fun.call(this, arg1, arg2); atau fun.apply(this, [arg1, arg2]); . Antaranya, ini ialah konteks yang anda ingin tentukan, yang boleh berupa sebarang objek JavaScript (semuanya dalam JavaScript ialah panggilan objek perlu lulus parameter mengikut urutan, manakala aplikasi meletakkan parameter dalam tatasusunan).
var fun = function(arg1, arg2) {};
Salin selepas log masuk

Dalam JavaScript, bilangan parameter fungsi tidak tetap, jadi dari segi syarat yang berkenaan, apabila parameter anda mengetahui nombor tersebut dengan jelas, gunakan panggilan dan apabila anda tidak pasti, gunakan gunakan, dan kemudian tolak parameter Hantarkannya ke dalam tatasusunan. Apabila bilangan parameter tidak pasti, semua parameter juga boleh dilalui melalui tatasusunan argumen di dalam fungsi.

Cadangan berkaitan: Tutorial pembelajaran javascript

Atas ialah kandungan terperinci Apakah perbezaan antara panggilan dan gunakan dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Sempadan Jadual dalam HTML Sempadan Jadual dalam HTML Sep 04, 2024 pm 04:49 PM

Panduan untuk Sempadan Jadual dalam HTML. Di sini kita membincangkan pelbagai cara untuk menentukan sempadan jadual dengan contoh Sempadan Jadual dalam HTML.

HTML jidar-kiri HTML jidar-kiri Sep 04, 2024 pm 04:48 PM

Panduan untuk HTML margin-kiri. Di sini kita membincangkan gambaran keseluruhan ringkas tentang HTML margin-left dan Contoh-contohnya bersama-sama dengan Pelaksanaan Kodnya.

Jadual Bersarang dalam HTML Jadual Bersarang dalam HTML Sep 04, 2024 pm 04:49 PM

Ini ialah panduan untuk Nested Table dalam HTML. Di sini kita membincangkan cara membuat jadual dalam jadual bersama-sama dengan contoh masing-masing.

Susun Atur Jadual HTML Susun Atur Jadual HTML Sep 04, 2024 pm 04:54 PM

Panduan untuk Susun Atur Jadual HTML. Di sini kita membincangkan Nilai Susun Atur Jadual HTML bersama-sama dengan contoh dan output n perincian.

Pemegang Tempat Input HTML Pemegang Tempat Input HTML Sep 04, 2024 pm 04:54 PM

Panduan untuk Pemegang Tempat Input HTML. Di sini kita membincangkan Contoh Pemegang Tempat Input HTML bersama-sama dengan kod dan output.

Senarai Tertib HTML Senarai Tertib HTML Sep 04, 2024 pm 04:43 PM

Panduan kepada Senarai Tertib HTML. Di sini kami juga membincangkan pengenalan senarai dan jenis Tertib HTML bersama-sama dengan contoh mereka masing-masing

Memindahkan Teks dalam HTML Memindahkan Teks dalam HTML Sep 04, 2024 pm 04:45 PM

Panduan untuk Memindahkan Teks dalam HTML. Di sini kita membincangkan pengenalan, cara teg marquee berfungsi dengan sintaks dan contoh untuk dilaksanakan.

Butang onclick HTML Butang onclick HTML Sep 04, 2024 pm 04:49 PM

Panduan untuk Butang onclick HTML. Di sini kita membincangkan pengenalan, kerja, contoh dan onclick Event masing-masing dalam pelbagai acara.

See all articles