Rumah  >  Artikel  >  hujung hadapan web  >  Cara memanggil fungsi sebagai parameter dalam kemahiran javascript_javascript

Cara memanggil fungsi sebagai parameter dalam kemahiran javascript_javascript

WBOY
WBOYasal
2016-05-16 16:15:091320semak imbas

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);
}
attr menggantikan kunci, obj[attr] menggantikan nilai dan melaksanakan pernyataan amaran serta mengeluarkannya.

Langkah5: Teruskan laksanakan gelung for, ulangi langkah4 dan keluarkan sehingga tamat.

Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

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