Artikel ini menjelaskan metode panggilan fungsi sebagai parameter dalam JavaScript. Bagikan untuk referensi Anda. Analisis spesifiknya adalah sebagai berikut:
Mari kita lihat contoh terlebih dahulu:
function map () {var obj = {}; this.put = function (key, value) {obj [key] = value;} this.eachMap = function (fn) {for (var attr dalam obj) {fn (attr, obj [attr]);}}} var m = new peta (); m.put ('01 ',', ',', ',', ',', ',', ', m. 1024); m.put ('03 ', true); m.put ('04', 0); m.put ('05 ', false); m.eachmap (function (tombol, nilai) {waspada (tombol + ":" + value);});Urutan eksekusi kode ini adalah: Menafsirkan eksekusi dari atas ke bawah, yang merupakan ketentuan JS.
Di sini kami terutama menjelaskan bagaimana fungsi di m.eachmap () dilewati dan dieksekusi sebagai parameter:
Langkah1: Saat mengeksekusi metode M.EachMap, JS akan mencari metode ini.
LANGKAH2: Temukan ini. Metode Map dan akan dieksekusi sesuai dengan urutan pernyataan dalam badan fungsi;
Langkah3: Ketika dieksekusi ke Fn (attr, obj [attr]);, itu akan kembali ke eksekusi pernyataan untuk; Perhatikan bahwa sebelum pelaksanaan pengembalian pernyataan, ATTR tidak memiliki nilai; Setelah kembali dari pernyataan untuk, nilai ATTR telah ditemukan, yaitu '01', dan nilai OBJ [attr] juga ada, yaitu 'ABC';
Langkah4: kemudian, fn (attr, obj [attr]); akan dikembalikan ke fungsi parameter metode M.EachMap, yaitu,
function (key, value) {alert (key + ":" + value);}ATTR menggantikan tombol, OBJ [attr] menggantikan nilai, dan menjalankan pernyataan peringatan, output.
Langkah5: Lanjutkan untuk menjalankan loop untuk, ulangi Langkah4, dan output hingga akhir.
Saya harap artikel ini akan membantu pemrograman JavaScript semua orang.