国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

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

2019-11-20 13:11:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

先來(lái)看示例:

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ī)定。
這里主要說(shuō)明一下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是沒(méi)有值的;從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ì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 科尔| 肥乡县| 兰考县| 绥化市| 玉屏| 苍梧县| 西宁市| 佳木斯市| 台江县| 内黄县| 沧源| 花莲县| 洪洞县| 平遥县| 谢通门县| 广河县| 泽库县| 靖西县| 万载县| 灵丘县| 平谷区| 崇义县| 南投县| 义乌市| 宁乡县| 钟祥市| 白水县| 西贡区| 江华| 施秉县| 临湘市| 太湖县| 长子县| 南宁市| 太原市| 堆龙德庆县| 邻水| 邻水| 泾川县| 和静县| 阿拉善左旗|