Fungsi ialah blok kod dipacu peristiwa atau boleh guna semula yang dilaksanakan apabila ia dipanggil.
Sintaks fungsi JavaScript
Fungsi ialah blok kod yang dibalut dengan pendakap kerinting, didahului oleh fungsi kata kunci:
function functionname() { 这里是要执行的代码 }
Apabila fungsi ini dipanggil, kod dalam fungsi akan dilaksanakan.
Fungsi boleh dipanggil terus apabila peristiwa berlaku (seperti apabila pengguna mengklik butang) dan boleh dipanggil dari mana-mana sahaja oleh JavaScript.
Petua: JavaScript adalah sensitif huruf besar-besaran. Fungsi kata kunci mestilah huruf kecil, dan fungsi mesti dipanggil dengan kes yang sama dengan nama fungsi.
1. Skop fungsi
Skop merujuk kepada skop di mana pembolehubah wujud. Terdapat dua jenis skop dalam JavaScript, satu ialah skop global, di mana pembolehubah wujud sepanjang keseluruhan program, dan satu lagi ialah skop fungsi, di mana pembolehubah hanya wujud di dalam badan fungsi. Pembolehubah yang diisytiharkan di luar badan fungsi ialah pembolehubah global, yang juga boleh dibaca di dalam badan fungsi.
var v = 1; function f(){ console.log(v); } f();
Di atas adalah pembolehubah global, yang juga boleh digunakan di dalam badan fungsi.
function f(){ var v = 1; }
Dan ini ialah pembolehubah tempatan, yang tidak boleh dibaca di luar badan fungsi.
2. Penutupan
Penutupan ialah fungsi yang ditakrifkan di dalam badan fungsi.
function f() { var c = function (){}; }
Dalam kod rayuan, c ditakrifkan dalam badan fungsi f, dan c ialah penutupan.
Ciri penutupan ialah pembolehubah di dalam badan fungsi boleh dibaca di luar badan fungsi.
function f() { var v = 1; var c = function (){ return v; }; return c; } var o = f(); o(); // 1
Kod di atas menunjukkan bahawa pada asalnya di luar fungsi f, kami tidak mempunyai cara untuk membaca pembolehubah dalaman v. Walau bagaimanapun, dengan bantuan penutupan c, pembolehubah ini boleh dibaca.
Penutupan bukan sahaja boleh membaca pembolehubah dalaman fungsi, tetapi juga membuat pembolehubah dalaman mengingati hasil operasi panggilan terakhir.
function f(b) { return function () { return b++; } } var b= f(5); b() // 5 b() // 6 b() // 7
Pembolehubah b di dalam fungsi dikira berdasarkan nilai panggilan sebelumnya untuk setiap panggilan.
Di atas adalah keseluruhan perihalan fungsi dalam JavaScript (2) yang diperkenalkan oleh editor kepada anda.