欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript中函數(shù)作為參數(shù)調(diào)用的方法

 更新時(shí)間:2015年02月09日 11:11:23   作者:wang645372816  
這篇文章主要介紹了javascript中函數(shù)作為參數(shù)調(diào)用的方法,實(shí)例分析了函數(shù)作為操作調(diào)用的原理與相關(guān)技巧,需要的朋友可以參考下

本文實(shí)例講述了javascript中函數(shù)作為參數(shù)調(diào)用的方法。分享給大家供大家參考。具體分析如下:

先來看示例:

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);
});

這段代碼執(zhí)行的順序是:從上往下順序解釋執(zhí)行,這是JS的規(guī)定。
這里主要說明一下m.eachMap()中函數(shù)做為參數(shù)是怎么傳遞并執(zhí)行的:

step1:執(zhí)行到m.eachMap這個(gè)方法的時(shí)候,JS會(huì)去找對(duì)應(yīng)的this.eachMap這個(gè)方法;
step2:找到this.eachMap這個(gè)方法,會(huì)根據(jù)函數(shù)體內(nèi)的語(yǔ)句順序執(zhí)行;
step3:當(dāng)執(zhí)行到fn(attr, obj[attr]);的時(shí)候,他會(huì)返回到for語(yǔ)句執(zhí)行;注意在返回for語(yǔ)句執(zhí)行之前,attr是沒有值的;從for語(yǔ)句返回之后,attr的值就有了,為‘01',而obj[attr]的值也有了,為‘a(chǎn)bc';
step4:接著,fn(attr, obj[attr]);會(huì)返回到m.eachMap這個(gè)方法的參數(shù)函數(shù)中,即

function(key, value){
alert(key + " : " + value);
}

attr替換key,obj[attr]替換value,并執(zhí)行alert語(yǔ)句,輸出。

step5:繼續(xù)執(zhí)行for循環(huán),重復(fù)執(zhí)行step4,并輸出,直到結(jié)束。

希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論