Contoh dalam artikel ini menerangkan kaedah memanggil fungsi sebagai parameter dalam JavaScript. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:
Mari kita lihat contoh dahulu:
function Map(){ var obj = {}; this.put = function(key, value){ obj[key] = value; } this.eachMap = function(fn){ for(var attr in obj){ fn(attr, obj[attr]); } } } var m = new Map(); m.put('01', 'abc'); m.put('02', 1024); m.put('03', true); m.put('04', 0); m.put('05', false); m.eachMap(function(key, value){ alert(key + " : " + value); });
Turutan kod ini dilaksanakan ialah: ditafsir dan dilaksanakan dari atas ke bawah, yang merupakan keperluan JS.
Di sini kami menerangkan terutamanya bagaimana fungsi dalam m.eachMap() diluluskan dan dilaksanakan sebagai parameter:
langkah1: Apabila kaedah m.eachMap dilaksanakan, JS akan mencari kaedah ini.eachMap yang sepadan
langkah2: Cari kaedah this.eachMap dan ia akan dilaksanakan mengikut susunan pernyataan dalam badan fungsi;
step3: Apabila fn(attr, obj[attr]); ia akan kembali kepada pelaksanaan pernyataan untuk; attr ialah Ya, ia ialah '01', dan nilai obj[attr] juga ada, ia ialah 'abc';
langkah4: Kemudian, fn(attr, obj[attr]); akan kembali kepada fungsi parameter kaedah m.eachMap, iaitu
function(key, value){ alert(key + " : " + value); }
Langkah5: Teruskan laksanakan gelung for, ulangi langkah4 dan keluarkan sehingga tamat.
Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.