Fungsi dalam JavaScript dapat dipanggil dengan berbagai cara. Sepintas, itu mungkin tampak seperti pernyataan gila. Bagaimana bisa ada lebih dari satu cara untuk memanggil suatu fungsi? Show
Nah, para pembaca yang budiman, seperti yang akan kita bahas pada postingan kali ini, ada 4 cara untuk memanggil sebuah fungsi di JavaScript. Skenario khusus Anda akan menentukan mana yang akan digunakan. Selain itu, setiap metode akan menentukan nilai "ini", juga dikenal sebagai konteks, di dalam fungsi Poin yang perlu diingatSetiap kali suatu fungsi dipanggil dalam JavaScript, terlepas dari bagaimana itu dipanggil, dua argumen implisit diteruskan ke sana. 2 argumen implisit tersebut adalah ini, konteks di mana fungsi akan dieksekusi dan parameter argumen. Parameter argumen adalah struktur mirip larik yang berisi argumen apa pun yang diteruskan. Ini "seperti array" tetapi ini bukan array Sekarang, tanpa basa-basi lagi, mari perkenalkan empat cara pemanggilan fungsi Fungsi JavaScript dapat dipanggil
Mari kita lihat masing-masing Memanggil fungsi sebagai fungsiSejak pembuatan bahasa, ini mungkin cara sebagian besar fungsi dipanggil. sebagai fungsi. Jika Anda pernah menempatkan cuplikan JavaScript di halaman web dan memanggilnya dari klik tombol, Anda telah memanggil fungsi JavaScript sebagai fungsi. Mari kita lihat contoh kode
Dalam contoh kode sederhana ini, kami memiliki tombol yang ketika diklik, memanggil fungsi sayHello(). Di dalam fungsi, kami mencatat nilai this diikuti dengan nilai argumen. Lalu kami menyapa. Mari kita lihat apa yang kita dapatkan di konsol saat kita mengklik tombolnya output dari fungsi sayHello sederhana kamiSeperti yang Anda lihat, nilai dari this adalah objek Window. Itulah konteks di mana fungsi kecil kami yang bagus dijalankan. Anda memiliki opsi untuk memaksa konteks ini menjadi tidak terdefinisi dalam kasus ini. Untuk melakukannya, Anda cukup menambahkan 'use strict'; _Parameter argumen dalam contoh ini tidak memiliki nilai apa pun karena tidak ada parameter yang diteruskan ke fungsi Memanggil fungsi sebagai metodeUntuk memanggil fungsi sebagai metode, itu harus didefinisikan sebagai properti pada objek. Mari kita lihat beberapa kode
Di sini Anda dapat melihat bahwa kami telah membungkus fungsi sayHello() di dalam objek yang disebut penyapa sehingga menjadikannya properti pada objek tersebut. Kami kemudian memperbarui penangan onclick kami untuk memanggilnya menggunakan sintaks titik objek. penyambut. katakan halo() Saat kami memanggil fungsi dengan cara ini, inilah yang kami dapatkan di konsol memanggil sayHello sebagai metodeDi sini kita melihat bahwa konteks argumen this menunjuk ke objek penyapa. Ini lebih masuk akal daripada objek jendela global. Seperti yang diharapkan, kami juga masih memiliki akses ke parameter argumen Memanggil fungsi sebagai konstruktorSebelum kita melihat kode untuk memanggil fungsi sebagai konstruktor, mari luangkan waktu sejenak dan pertimbangkan tujuan dari konstruktor. Konstruktor dimaksudkan untuk mengatur beberapa keadaan awal dalam suatu objek. Untuk membangunnya. Karena itu, ini adalah kasus yang lebih khusus tentang cara memanggil suatu fungsi. Kami memanggil fungsi ini dengan maksud untuk membuat sesuatu yang baru dan mendapatkannya kembali. Mari kita lihat contoh kode
Dalam contoh ini, kami telah menambahkan kotak teks masukan sehingga pengguna dapat memasukkan namanya. Ini bukan sapaan yang tepat tanpa nama. Sekali lagi, ketika tombol kita diklik kita memanggil fungsi sayHello(). Dalam fungsi sayHello kami, kami mengambil nilai di kotak teks dan membuat instance baru dari objek Greeter dengan memanggil new Greeter() Kata kunci new dan huruf kapital G memperjelas bahwa fungsi ini disebut sebagai konstruktor. Saat sebuah fungsi dipanggil dengan cara ini, ini disetel ke objek yang baru dibuat. Kami kemudian menambahkan properti name ke objek yang baru dibuat dan menetapkan nilainya ke parameter yang diteruskan ke konstruktor. Objek yang baru dibuat dikembalikan ke kode panggilan dan disimpan dalam variabel grtr. Terakhir, dalam panggilan untuk menghibur. log, kita mengakses properti name yang baru saja kita atur pada objek Greeter Memanggil fungsi melalui panggilan dan melamarSatu hal yang harus selalu diingat saat bekerja dengan fungsi dalam JavaScript adalah bahwa mereka adalah objek kelas satu. Itu berarti bahwa suatu fungsi dapat memiliki properti dan metodenya sendiri. Ya, Anda membacanya dengan benar. Suatu fungsi dapat memiliki metodenya sendiri. Metode panggilan dan terapkan adalah dua dari metode tersebut. Metode panggilan dan terapkan memungkinkan Anda untuk menentukan konteks di mana fungsi akan dijalankan. Mereka memungkinkan Anda untuk mengatur nilai ini. Mari kita lihat contoh kode _Dalam kode ini, kita mulai dengan mendefinisikan beberapa variabel. Array kosong yang akan kita isi dengan beberapa objek Person dan sebuah nama. Kami kemudian memiliki konstruktor untuk objek Person. Yang dilakukannya hanyalah memilih nama berdasarkan indeks yang diteruskan ke sana Selanjutnya, kita memiliki fungsi printName(). Itu hanya mencetak nilai apa pun yang ada dalam variabel nama dari objek apa pun yang diatur ke konteks saat ini. Dan terakhir, kita memiliki fungsi go() yang dijalankan saat pengguna menekan tombol Hal pertama yang kita lakukan saat tombol diklik adalah memanggil printName() secara langsung. Jika Anda ingat dari awal posting ini, ini memanggil fungsi sebagai fungsi. Akibatnya, konteksnya adalah objek jendela global dan nama 'alex' dicetak ke konsol. Sejauh ini bagus Selanjutnya, kami menyiapkan loop for dan membuat objek 5 Orang dan mendorongnya ke array orang Lalu kita langsung masuk ke array. forEach pada susunan orang kami. Selama setiap iterasi, kami memanggil printName. call() melewati objek saat ini sebagai konteksnya. Ini berarti kita mengatur konteks fungsi secara dinamis. Cukup keren. Ini menghasilkan output berikut di konsol output untuk konteks yang kami atur secara dinamis'alex' pertama dalam output berasal dari panggilan kami sebelumnya ke printName(). Setiap baris output tambahan berasal dari iterasi di atas array Kode ini mendemonstrasikan metode call() yang tersedia di semua fungsi. Ini terlihat sangat mirip dengan sintaks titik objek karena itu adalah sintaks titik objek. Semua fungsi dalam JavaScript adalah objek Metode penerapannya sangat mirip. Satu-satunya perbedaan antara keduanya adalah argumen yang mereka terima. call() menerima daftar nilai sementara apply() menerima array, seperti itu
Itu merangkum pengenalan singkat dari 4 cara untuk memanggil fungsi JavaScript. Saya menemukan bahwa saya menggunakan semua metode ini dan mengetahui apa yang terjadi di balik layar sangat membantu Ingatlah bahwa dalam JavaScript, fungsi adalah objek kelas satu. Mereka dapat memiliki properti dan metode mereka sendiri dan dapat diedarkan seperti objek lainnya. Konsep fungsi sebagai objek ini dapat sedikit membiasakan diri jika Anda berasal dari bahasa lain seperti C# atau Java. Saya tahu saya butuh sedikit untuk membuat kepala saya melilitnya Bagaimana cara memanggil fungsi dalam JavaScript?Memanggil Fungsi sebagai Metode. var myObject = { var. nilai, namafungsi. fungsi () { kembalikan ini. var; . functionName();
Bagaimana kita memanggil suatu fungsi?Fungsi dipanggil ketika kode di dalam fungsi dijalankan dengan memanggilnya . Istilah memanggil dan memanggil fungsi sama dalam JavaScript.
Berapa banyak cara memanggil fungsi JavaScript?Fungsi JavaScript dapat dipanggil dengan empat cara . sebagai fungsi, sebagai metode, sebagai konstruktor, dan. |