Apakah penghias dan bagaimana ia digunakan dalam JavaScript?
Dalam tutorial ini, anda akan belajar tentang penghias JavaScript dan memahami kerja dan kegunaan dalaman mereka.
Apakah penghias dalam JavaScript?
Perkataan penghias bermaksud menggabungkan satu set kod atau program dengan set kod atau program lain, atau anda boleh katakan membungkus fungsi dengan fungsi lain untuk memanjangkan kefungsian atau fungsi fungsi tersebut. Penghias juga boleh dipanggil fungsi penghias.
Pembangun telah menggunakan istilah penghias ini dalam bahasa lain seperti Python, C#, dan kini JavaScript juga telah memperkenalkan penghias.
Penghias fungsi
Dalam fungsi JavaScript berkelakuan seperti objek jadi ia juga dipanggil objek kelas pertama, ini berlaku kerana kita boleh menetapkan fungsi kepada pembolehubah atau mengembalikan fungsi daripada fungsi atau kita boleh menghantar fungsi sebagai parameter kepada fungsi .
Contoh
const func_variable= function(){ console.log("Hey there"); } func_variable()
Contoh
Lepaskan fungsi ke fungsi lain
// MainFunction function takes a function as a parameter function MainFunction(func) { func() console.log("Main function") } // Assigning function to a variable var argumentFunction = function() { console.log("passed function") } //passing argumentFunction function to to MainFunction MainFunction(argumentFunction)
Contoh
Kembalikan fungsi melalui fungsi lain
function SumElement(par1, par2) { var addNumbers = function () { result = par1+par2; console.log("Sum is:", result); } // Returns the addNumbers function return addNumbers } var PrintElement = SumElement(3, 4) console.log(PrintElement); PrintElement()
Fungsi pesanan lebih tinggi
Fungsi tertib lebih tinggi ialah fungsi yang mengambil fungsi sebagai parameter dan mengembalikan fungsi tersebut selepas melakukan beberapa operasi. Fungsi yang dibincangkan di atas adalah fungsi tertib tinggi, iaitu printAdditionFunc.
Contoh
// higher order function function PrintName(name) { return function () { console.log("My name is ", name); } } // output1 is a function, PrintName returns a function var output1 = PrintName("Kalyan") output1() var output2= PrintName("Ashish") output2()
Anda mungkin berfikir, kami sudah mempunyai penghias sebagai fungsi peringkat tinggi, jadi mengapa kami memerlukan penghias berasingan?
Jadi, kami mempunyai penghias fungsi, iaitu fungsi JavaScript peringkat tinggi, tetapi apabila kelas muncul dalam JavaScript, kami juga mempunyai fungsi dalam kelas, di mana fungsi peringkat tinggi menjadi gagal, sama seperti penghias.
Contoh
Mari kita lihat masalah fungsi peringkat tinggi kelas -
// higher is a decorator function function higher(arg) { return function() { console.log("First "+ arg.name) arg() // Decorator function call console.log("Last " + arg.name) } } class Website { constructor(fname, lname) { this.fname = fname this.lname = lname } websiteName() { return this.fname + " " + this.lname } } var ob1 = new Website("Tutorials", "Point") // Passing the class method websiteName to the higher order function var PrintName = higher(ob1.websiteName) PrintName()
Apa yang berlaku di sini ialah apabila fungsi yang lebih tinggi dipanggil, ia memanggil argumennya, yang merupakan fungsi ahli kelas, sebagai fungsi websiteName di sini. Memandangkan fungsi websiteName dipanggil daripada fungsi kelas luaran, nilai fungsi tidak ditentukan dalam fungsi websiteName. Jadi inilah sebab di sebalik ralat log ini.
Jadi, untuk menyelesaikan masalah ini, kami juga akan lulus objek kelas Laman web yang akhirnya akan memegang nilai ini.
//higher is a decorator function function higher(ob1, arg) { return function() { console.log("Execution of " + arg.name + " begin") arg.call(ob1) //// Decorator function call console.log("Execution of " + arg.name + " end") } } class Website { constructor(fname, lname) { this.fname = fname this.lname = lname } websiteName() { return this.fname + " " + this.lname } } var ob1 = new Website("Tutorials", "Point") //Passing the class method websiteName to the higher order function var PrintName = higher(ob1, ob1.websiteName) PrintName()
Dalam fungsi PrintName kami memanggil arg (yang merupakan fungsi WebsiteName) melalui fungsi panggilan yang memanggil fungsi WebsiteName dengan bantuan objek kelas Laman Web jadi nilai penunjuk ini akan menjadi objek kelas Laman Web dan mempunyai nama dan nama Kedua ini pembolehubah, jadi ia akan berfungsi dengan baik tanpa sebarang ralat.
Semoga anda memahami penghias dan kegunaannya dengan bantuan artikel ini.
Atas ialah kandungan terperinci Apakah penghias dan bagaimana ia digunakan 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

Penjelasan terperinci mengenai kaedah penggantian rentetan javascript dan Soalan Lazim Artikel ini akan meneroka dua cara untuk menggantikan watak rentetan dalam JavaScript: Kod JavaScript dalaman dan HTML dalaman untuk laman web. Ganti rentetan di dalam kod JavaScript Cara yang paling langsung ialah menggunakan kaedah pengganti (): str = str.replace ("cari", "ganti"); Kaedah ini hanya menggantikan perlawanan pertama. Untuk menggantikan semua perlawanan, gunakan ungkapan biasa dan tambahkan bendera global g: str = str.replace (/fi

Tutorial ini menunjukkan kepada anda bagaimana untuk mengintegrasikan API carian Google tersuai ke dalam blog atau laman web anda, menawarkan pengalaman carian yang lebih halus daripada fungsi carian tema WordPress standard. Ia menghairankan mudah! Anda akan dapat menyekat carian ke y

Jadi di sini anda, bersedia untuk mempelajari semua perkara ini yang dipanggil Ajax. Tetapi, apa sebenarnya? Istilah Ajax merujuk kepada kumpulan teknologi longgar yang digunakan untuk membuat kandungan web yang dinamik dan interaktif. Istilah Ajax, yang asalnya dicipta oleh Jesse J

Siri artikel ini ditulis semula pada pertengahan 2017 dengan maklumat terkini dan contoh segar. Dalam contoh JSON ini, kita akan melihat bagaimana kita dapat menyimpan nilai mudah dalam fail menggunakan format JSON. Menggunakan notasi pasangan nilai utama, kami boleh menyimpan apa-apa jenis

Leverage JQuery untuk Layouts Laman Web yang mudah: 8 Plugin Essential JQuery memudahkan susun atur laman web dengan ketara. Artikel ini menyoroti lapan plugin jQuery yang kuat yang menyelaraskan proses, terutamanya berguna untuk penciptaan laman web manual

Mata teras Ini dalam JavaScript biasanya merujuk kepada objek yang "memiliki" kaedah, tetapi ia bergantung kepada bagaimana fungsi dipanggil. Apabila tidak ada objek semasa, ini merujuk kepada objek global. Dalam penyemak imbas web, ia diwakili oleh tetingkap. Apabila memanggil fungsi, ini mengekalkan objek global; tetapi apabila memanggil pembina objek atau mana -mana kaedahnya, ini merujuk kepada contoh objek. Anda boleh mengubah konteks ini menggunakan kaedah seperti panggilan (), memohon (), dan mengikat (). Kaedah ini memanggil fungsi menggunakan nilai dan parameter yang diberikan. JavaScript adalah bahasa pengaturcaraan yang sangat baik. Beberapa tahun yang lalu, ayat ini

JQuery adalah rangka kerja JavaScript yang hebat. Walau bagaimanapun, seperti mana -mana perpustakaan, kadang -kadang perlu untuk mendapatkan di bawah tudung untuk mengetahui apa yang sedang berlaku. Mungkin kerana anda mengesan bug atau hanya ingin tahu tentang bagaimana jQuery mencapai UI tertentu

Siaran ini menyusun helaian cheat berguna, panduan rujukan, resipi cepat, dan coretan kod untuk perkembangan aplikasi Android, BlackBerry, dan iPhone. Tiada pemaju harus tanpa mereka! Panduan Rujukan Gesture Touch (PDF) Sumber yang berharga untuk desig
