Rumah >hujung hadapan web >tutorial js >Penjelasan terperinci tentang pengetahuan asas pattern_fungsi JavaScript

Penjelasan terperinci tentang pengetahuan asas pattern_fungsi JavaScript

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBasal
2016-05-16 16:31:581452semak imbas

Dalam JavaScript, fungsi ialah sejenis objek, yang bermaksud ia boleh dihantar sebagai parameter kepada fungsi lain selain itu, fungsi juga boleh menyediakan skop.

Bahagian asas fungsi js: nota kajian javascript (4) bahagian fungsi fungsi

Sintaks untuk mencipta fungsi

Ungkapan fungsi bernama

Salin kod Kod adalah seperti berikut:

//Ungkapan fungsi bernama
var add = fungsi tambah(a,b){
Kembalikan b;
};

Ekspresi fungsi

Salin kod Kod adalah seperti berikut:

//Juga dikenali sebagai fungsi tanpa nama
var add = function(a,b){
Kembalikan b;
};

Pengisytiharan fungsi

Salin kod Kod adalah seperti berikut:

fungsi foo(){
//kod di sini
} //Tiada koma bertitik diperlukan di sini

Ungkapan fungsi hendaklah sentiasa menggunakan koma bertitik mengekor dan koma bertitik mengekor tidak diperlukan dalam pengisytiharan fungsi.

Pengisytiharan dan ungkapan fungsi

Peningkatan fungsi

Kelakuan pengisytiharan fungsi tidak bersamaan dengan ungkapan fungsi yang dinamakan Perbezaannya terletak pada tingkah laku angkat

Salin kod Kod adalah seperti berikut:
Semua pembolehubah, tidak kira di mana ia diisytiharkan dalam badan fungsi, dinaikkan secara dalaman ke bahagian atas fungsi. Sebab mengapa ia boleh digunakan secara universal untuk fungsi ialah fungsi hanyalah objek yang diberikan kepada pembolehubah.

Ascension, seperti namanya, adalah untuk mengangkat perkara di bawah ke atas. Dalam JS, ia adalah untuk mempromosikan perkara (pembolehubah atau fungsi) yang ditakrifkan pada akhir untuk ditakrifkan di hadapan. Seperti yang dapat dilihat daripada contoh di atas, foo dan bar di dalam angkat fungsi dialihkan ke atas, sekali gus meliputi fungsi foo dan bar global. Perbezaan antara bar fungsi tempatan dan foo ialah foo dinaikkan pangkat ke atas dan boleh berjalan seperti biasa, manakala takrifan bar() tidak dipromosikan, hanya pengisytiharannya dipromosikan, jadi apabila bar() dilaksanakan, hasilnya dipaparkan sebagai tidak ditentukan dan bukannya digunakan sebagai fungsi.

Mod fungsi segera

Fungsi juga merupakan objek, jadi ia boleh berfungsi sebagai nilai pulangan. Kelebihan menggunakan fungsi laksana sendiri adalah untuk mengisytiharkan secara langsung fungsi tanpa nama dan menggunakannya serta-merta, menghapuskan keperluan untuk menentukan fungsi yang digunakan sekali dan kemudian tidak menggunakannya, dan mengelakkan masalah konflik penamaan ruang nama dalam js, jadi mudah untuk konflik nama fungsi berlaku Jika berlaku konflik penamaan, yang terakhir diisytiharkan akan diguna pakai.

Mod 1:

Salin kod Kod adalah seperti berikut:


(fungsi () {
      var a = 1;
         mengembalikan fungsi () {
makluman(2);
        };
}()());//Pop up 2, kurungan pertama dilaksanakan sendiri dan kurungan kedua melaksanakan fungsi tanpa nama dalaman

Mod 2: Menuding kepada pembolehubah fungsi laksana sendiri

Salin kod Kod adalah seperti berikut:

Mod 3: Fungsi bersarang

Salin kod Kod adalah seperti berikut:

Mod 4: Fungsi laksana sendiri memberikan nilai pulangannya kepada pembolehubah

Salin kod Kod adalah seperti berikut:

var abc = (fungsi () {
          var a = 1;
              mengembalikan fungsi () {
                      pulangkan a;
            }
            })();//Fungsi laksana sendiri mengembalikan fungsi selepas kembali kepada pembolehubah
alert(abc());//Jika ia alert(abc), kod selepas penyataan kembali akan muncul; jika ia adalah abc(), fungsi selepas return akan dilaksanakan

Mod 5: Fungsi melaksanakan sendiri secara dalaman, secara rekursif

Salin kod Kod adalah seperti berikut:

// Ini ialah fungsi laksana sendiri Fungsi melaksanakan sendiri secara dalaman, secara rekursif
fungsi abc() { abc();

Mod Panggilan Balik

Fungsi panggil balik: Apabila anda menghantar fungsi write() sebagai parameter kepada fungsi lain call(), maka call() boleh melaksanakan (atau memanggil) write() pada masa tertentu. Dalam kes ini, write() dipanggil fungsi panggil balik.

Pendengar acara tak segerak

Corak panggil balik mempunyai banyak kegunaan Contohnya, apabila melampirkan pendengar acara pada elemen pada halaman, ia sebenarnya memberikan penunjuk kepada fungsi panggil balik yang akan dipanggil apabila acara itu berlaku. Seperti:

Salin kod Kod adalah seperti berikut:
document.addEventListener("klik",console.log,false);

Contoh kod di atas menunjukkan bahawa peristiwa klik dokumen dihantar ke fungsi panggil balik console.log() dalam mod menggelegak

Javascript amat sesuai untuk pengaturcaraan dipacu peristiwa kerana mod panggil balik menyokong program untuk dijalankan secara tidak segerak.

Tamat masa

Contoh lain menggunakan mod panggil balik ialah apabila menggunakan kaedah tamat masa yang disediakan oleh objek tetingkap penyemak imbas: setTimeout() dan setInterval(), seperti:

Salin kod Kod adalah seperti berikut:

Mod panggil balik dalam pustaka

Apabila mereka bentuk pustaka js, fungsi panggil balik akan berguna Kod perpustakaan harus menggunakan kod boleh guna semula sebanyak mungkin dan panggilan balik boleh membantu mencapai generalisasi ini. Apabila kami mereka bentuk perpustakaan js yang besar, sebenarnya, pengguna tidak memerlukan kebanyakan fungsi, dan kami boleh menumpukan pada fungsi teras dan menyediakan fungsi panggil balik dalam "bentuk cangkuk", yang akan memudahkan kami membina, Sambungan, dan kaedah perpustakaan tersuai

Kari

Teknologi kari ialah teknologi yang menukar fungsi kepada fungsi dipermudahkan baharu (menjadikan ia menerima lebih sedikit parameter) dengan mengisi berbilang parameter ke dalam badan fungsi. ————【Mahir dalam JavaScript】

Ringkasnya, Kari adalah proses penukaran, iaitu proses di mana kita melakukan penukaran fungsi. Contoh di bawah:

Salin kod Kod adalah seperti berikut:


Apabila add() dipanggil buat kali pertama, ia mewujudkan penutupan untuk fungsi dalaman yang dikembalikan. Penutupan ini menyimpan nilai x dan y asal ke dalam pembolehubah peribadi oldx dan oldy.

Kini, kami akan dapat menggunakan kaedah umum mana-mana fungsi kari, seperti:

Salin kod Kod adalah seperti berikut:

Bila guna kari

Apabila didapati bahawa fungsi yang sama sedang dipanggil, dan parameter yang diluluskan adalah sangat sama, maka fungsi itu mungkin parameter calon yang baik untuk kari

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