Artikel ini terutamanya memperkenalkan fungsi biasa, fungsi tanpa nama dan fungsi penutupan
1. Pengenalan kepada fungsi biasa
1.1 Contoh
1.2 Penukaran fungsi dengan nama yang sama dalam Js
Dalam JS, fungsi tidak terbeban jika anda mentakrifkan fungsi dengan nama fungsi yang sama dan tandatangan parameter yang berbeza, fungsi kemudian akan menimpa fungsi sebelumnya. Apabila dipanggil, hanya fungsi berikut akan dipanggil.
1.3 argumen objek
argumen adalah serupa dengan param C#, mengendalikan parameter pembolehubah: bilangan parameter yang dihantar ke dalam fungsi adalah lebih besar daripada bilangan parameter apabila ditakrifkan.
1.4 Nilai julat lalai fungsi
Jika fungsi tidak menyatakan nilai pulangan, nilai pulangan lalai adalah 'tidak ditentukan'
2. Fungsi tanpa nama
2.1 Fungsi tanpa nama boleh ubah
2.1.1 Penerangan
Fungsi boleh diberikan kepada pembolehubah dan peristiwa.
2.1.2 Contoh
2.1.3 Senario Berkenaan
①Elakkan pencemaran nama fungsi. Jika anda mula-mula mengisytiharkan fungsi dengan nama dan kemudian menetapkannya kepada pembolehubah atau acara, anda akan menyalahgunakan nama fungsi tersebut.
2.2 Fungsi tanpa nama tanpa nama
2.2.1 Penerangan
Iaitu, apabila fungsi diisytiharkan, ia diikuti oleh parameter. Apabila sintaks JS menghuraikan fungsi ini, kod di dalamnya dilaksanakan serta-merta.
2.2.2 Contoh
2.2.3 Senario Berkenaan
①Ia hanya perlu dilaksanakan sekali. Jika pelayar dimuatkan, fungsi itu hanya perlu dilaksanakan sekali dan tidak akan dilaksanakan kemudian.
3. Fungsi penutupan
3.1 Penerangan
Andaikan fungsi A mengisytiharkan fungsi B di dalam, fungsi B merujuk kepada pembolehubah di luar fungsi B, dan nilai pulangan fungsi A ialah rujukan kepada fungsi B. Kemudian fungsi B ialah fungsi penutupan.
3.2 Contoh
3.2.1 Contoh 1: Rujukan global dan rujukan tempatan
allShowA ialah pembolehubah global yang merujuk fungsi funA. Menjalankan allShowA() berulang kali akan mengeluarkan nilai terkumpul 1, 2, 3, 4, dsb.
Laksanakan fungsi partShowA(), kerana hanya pembolehubah tempatan showa diisytiharkan secara dalaman untuk rujukan funA Selepas pelaksanaan, disebabkan skop, sumber yang diduduki oleh showa dikeluarkan.
Kunci penutupan ialah skop: sumber yang diduduki oleh pembolehubah global hanya akan dikeluarkan apabila halaman berubah atau penyemak imbas ditutup. Apabila var allShowA = funA(), ia bersamaan dengan allShowA merujuk funB(), supaya sumber dalam funB() tidak akan dikitar semula oleh GC, jadi sumber dalam funA() juga tidak akan dikitar semula.
3.2.2 Contoh 2: Fungsi penutupan parametrik
3.2.3 Contoh 3: Perkongsian pembolehubah dalam fungsi induk funA
3.3 Senario Berkenaan
① Pastikan keselamatan pembolehubah di dalam fungsi funA, kerana pembolehubah funA tidak boleh diakses terus dari luar.
Adakah anda mengetahui apa-apa tentang fungsi JavaScript Jika anda mempunyai sebarang soalan, sila tinggalkan saya mesej.