cari
Rumahhujung hadapan webSoal Jawab bahagian hadapanApakah perbezaan antara panggilan dan gunakan dalam javascript

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[, ...]]])

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])

 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 

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) {};

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
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
React: Kekuatan perpustakaan JavaScript untuk pembangunan webReact: Kekuatan perpustakaan JavaScript untuk pembangunan webApr 18, 2025 am 12:25 AM

React adalah perpustakaan JavaScript yang dibangunkan oleh Meta untuk membina antara muka pengguna, dengan terasnya menjadi pembangunan komponen dan teknologi DOM maya. 1. Komponen dan Pengurusan Negeri: React menguruskan keadaan melalui komponen (fungsi atau kelas) dan cangkuk (seperti UseState), meningkatkan kebolehgunaan semula kod dan penyelenggaraan. 2. DOM maya dan pengoptimuman prestasi: Melalui DOM maya, bereaksi dengan cekap mengemas kini DOM sebenar untuk meningkatkan prestasi. 3. Kitaran Hidup dan Cangkuk: Cangkuk (seperti Useeffect) membolehkan komponen fungsi menguruskan kitaran hayat dan melakukan operasi kesan sampingan. 4. Contoh Penggunaan: Dari Komponen Helloworld Asas ke Pengurusan Negeri Global Lanjutan (USEContext dan

Ekosistem React: Perpustakaan, Alat, dan Amalan TerbaikEkosistem React: Perpustakaan, Alat, dan Amalan TerbaikApr 18, 2025 am 12:23 AM

Ekosistem React termasuk perpustakaan pengurusan negeri (seperti redux), perpustakaan penghalaan (seperti reactrouter), perpustakaan komponen UI (seperti bahan-UI), alat ujian (seperti jest), dan alat bangunan (seperti webpack). Alat ini bekerjasama untuk membantu pemaju membangun dan mengekalkan aplikasi dengan cekap, meningkatkan kualiti kod dan kecekapan pembangunan.

Pembangunan React dan Frontend: Gambaran keseluruhan yang komprehensifPembangunan React dan Frontend: Gambaran keseluruhan yang komprehensifApr 18, 2025 am 12:23 AM

React adalah perpustakaan JavaScript yang dibangunkan oleh Facebook untuk membina antara muka pengguna. 1. Ia mengamalkan teknologi DOM komponen dan maya untuk meningkatkan kecekapan dan prestasi pembangunan UI. 2. Konsep teras React termasuk komponenisasi, pengurusan negeri (seperti useState dan useeffect) dan prinsip kerja dom maya. 3. 4. Kesilapan umum seperti melupakan untuk menambah atribut utama atau kemas kini status yang salah boleh didebitkan melalui ReactDevTools dan log. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan react.memo, segmentasi kod dan menyimpan kod yang boleh dibaca dan mengekalkan kebolehpercayaan

Kekuatan React dalam HTML: Pembangunan Web ModenKekuatan React dalam HTML: Pembangunan Web ModenApr 18, 2025 am 12:22 AM

Penggunaan React dalam HTML meningkatkan kecekapan dan fleksibiliti pembangunan web melalui komponen dan DOM maya. 1) Idea komponen reaksi memecah UI ke dalam unit yang boleh diguna semula untuk memudahkan pengurusan. 2) Prestasi pengoptimuman DOM maya, meminimumkan operasi DOM melalui algoritma yang berbeza. 3) Sintaks JSX membolehkan penulisan HTML dalam JavaScript untuk meningkatkan kecekapan pembangunan. 4) Gunakan cangkuk UseState untuk menguruskan keadaan dan merealisasikan kemas kini kandungan dinamik. 5) Strategi pengoptimuman termasuk menggunakan react.memo dan usecallback untuk mengurangkan rendering yang tidak perlu.

Memahami Fungsi Utama React: Perspektif FrontendMemahami Fungsi Utama React: Perspektif FrontendApr 18, 2025 am 12:15 AM

Fungsi utama React termasuk pemikiran komponen, pengurusan negeri dan dom maya. 1) Idea komponenisasi membolehkan pemisahan UI menjadi bahagian yang boleh diguna semula untuk meningkatkan kebolehbacaan kod dan kebolehkerjaan. 2) Pengurusan Negeri menguruskan data dinamik melalui negeri dan prop, dan perubahan mencetuskan kemas kini UI. 3) Prestasi Pengoptimuman DOM Maya, kemas kini UI melalui pengiraan operasi minimum Replika DOM dalam ingatan.

Pembangunan Frontend dengan React: Kelebihan dan TeknikPembangunan Frontend dengan React: Kelebihan dan TeknikApr 17, 2025 am 12:25 AM

Kelebihan React adalah fleksibiliti dan kecekapannya, yang dicerminkan dalam: 1) Reka bentuk berasaskan komponen meningkatkan kebolehgunaan semula kod; 2) Teknologi DOM Maya mengoptimumkan prestasi, terutamanya apabila mengendalikan banyak kemas kini data; 3) Ekosistem yang kaya menyediakan sejumlah besar perpustakaan dan alat pihak ketiga. Dengan memahami bagaimana React Works dan menggunakan contoh, anda boleh menguasai konsep terasnya dan amalan terbaik untuk membina antara muka pengguna yang cekap dan boleh dipelihara.

React vs Rangka Kerja Lain: Membandingkan dan Berbeza PilihanReact vs Rangka Kerja Lain: Membandingkan dan Berbeza PilihanApr 17, 2025 am 12:23 AM

React adalah perpustakaan JavaScript untuk membina antara muka pengguna, sesuai untuk aplikasi besar dan kompleks. 1. Inti React adalah komponen dan DOM maya, yang meningkatkan prestasi rendering UI. 2. Berbanding dengan Vue, React lebih fleksibel tetapi mempunyai lengkung pembelajaran yang curam, yang sesuai untuk projek besar. 3. Berbanding dengan sudut, bertindak balas lebih ringan, bergantung kepada ekologi komuniti, dan sesuai untuk projek yang memerlukan fleksibiliti.

Demystifying React in HTML: Bagaimana semuanya berfungsiDemystifying React in HTML: Bagaimana semuanya berfungsiApr 17, 2025 am 12:21 AM

React beroperasi di HTML melalui DOM maya. 1) React menggunakan sintaks JSX untuk menulis struktur seperti HTML. 2) Kemas kini UI Pengurusan Maya DOM, rendering yang cekap melalui algoritma yang berbeza. 3) Gunakan reactDom.render () untuk menjadikan komponen ke DOM sebenar. 4) Pengoptimuman dan amalan terbaik termasuk menggunakan react.memo dan komponen pemisahan untuk meningkatkan prestasi dan penyelenggaraan.

See all articles

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.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)