javascript中函数作为参数调用的方法

 更新时间:2015年02月09日 11:11:23   作者:wang645372816  
这篇文章主要介绍了javascript中函数作为参数调用的方法,实例分析了函数作为操作调用的原理与相关技巧,需要的朋友可以参考下

本文实例讲述了javascript中函数作为参数调用的方法。分享给大家供大家参考。具体分析如下:

先来看示例:

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

这段代码执行的顺序是:从上往下顺序解释执行,这是JS的规定。
这里主要说明一下m.eachMap()中函数做为参数是怎么传递并执行的:

step1:执行到m.eachMap这个方法的时候,JS会去找对应的this.eachMap这个方法;
step2:找到this.eachMap这个方法,会根据函数体内的语句顺序执行;
step3:当执行到fn(attr, obj[attr]);的时候,他会返回到for语句执行;注意在返回for语句执行之前,attr是没有值的;从for语句返回之后,attr的值就有了,为‘01',而obj[attr]的值也有了,为‘abc';
step4:接着,fn(attr, obj[attr]);会返回到m.eachMap这个方法的参数函数中,即

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

attr替换key,obj[attr]替换value,并执行alert语句,输出。

step5:继续执行for循环,重复执行step4,并输出,直到结束。

希望本文所述对大家的javascript程序设计有所帮助。

相关文章

  • javascript中数组方法汇总

    javascript中数组方法汇总

    本文给大家详细汇总了一下javascript中的数组方法,十分的全面细致,有需要的小伙伴可以参考下。
    2015-07-07
  • ECMAScript6中Map映射的基本概念与常用方法

    ECMAScript6中Map映射的基本概念与常用方法

    Map是ES6中新增的数据结构,Map类似于对象,但普通对象的 key 必须是字符串或者数字,而 Map 的 key 可以是任何数据类型,这篇文章主要给大家介绍了关于ECMAScript6中Map映射的基本概念与常用方法,需要的朋友可以参考下
    2021-07-07
  • JavaScript中net::ERR_CONNECTION_REFUSED解决方法大全

    JavaScript中net::ERR_CONNECTION_REFUSED解决方法大全

    在一次测试中遇到了报net::ERR_CONNECTION_REFUSED的错误,五哦一下面这篇文章主要给大家介绍了关于JavaScript中net::ERR_CONNECTION_REFUSED解决方法的相关资料,需要的朋友可以参考下
    2022-10-10
  • 前端开发基础javaScript的六大作用

    前端开发基础javaScript的六大作用

    这篇文章主要介绍了前端开发基础javaScript的六大作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • javascript URL编码和解码使用说明

    javascript URL编码和解码使用说明

    在使用url进行参数传递时,经常会传递一些中文名的参数或URL地址,在后台处理时会发生转换错误。
    2010-04-04
  • javascript实现切割轮播效果

    javascript实现切割轮播效果

    这篇文章主要为大家详细介绍了javascript实现切割轮播效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • DIV始终居中的js代码

    DIV始终居中的js代码

    这篇文章主要介绍了DIV始终居中的js代码,需要的朋友可以参考下
    2014-02-02
  • 学习JavaScript设计模式之状态模式

    学习JavaScript设计模式之状态模式

    这篇文章主要为大家介绍了JavaScript设计模式中的状态模式,对JavaScript设计模式感兴趣的小伙伴们可以参考一下
    2016-01-01
  • JavaScript运行机制实例分析

    JavaScript运行机制实例分析

    这篇文章主要介绍了JavaScript运行机制,结合实例形式分析JavaScript运行机制相关原理、使用方法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • js实现4个方向滚动的球

    js实现4个方向滚动的球

    本文主要介绍了js实现4个方向滚动球的实例,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03

最新评论