javascript中函数作为参数调用的方法
2015-02-09 11:11
633 查看
本文实例讲述了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中函数作为参数调用的方法
- JavaSE8基础 多态扩展性 父类引用作为函数参数,调用所装子类对象的重写方法
- 二维数组作为参数的函数的定义及调用方法
- 二维数组作为参数的函数定义及调用方法
- javascript委托的实-现 以带参数的函数作为参数的解决方法
- (struct)结构体变量作为函数参数调用的方法小结
- JavaScript 将方法名作为参数传递、调用。(被传递方法带参数)
- 在asp.net的方法里如何调用javascript的函数
- javascript中iframe里面的页面调用父窗口js函数的方法
- 函数作为参数调用(关于函数接口插件的想法)
- 【javascript】函数调用的对象和方法
- C#调用VC DLL接口函数参数类型转换的方法
- 问题(怎样在dephi中引用.net中定义的类.方法参数,参数类型为XMLdocument?我要调用此方法并把实例花的xmldocument类型的变量作为参数给它。)
- 使一个函数作为另外一个函数的参数来运行的javascript代码
- javascript 函数调用的对象和方法
- 转载:JavaScript 调用后台方法和函数的方法
- js 获取函数的所有参数和遍历JavaScript某个对象所有的属性名称和值的方法
- Javascript 调用C# 代码并传递参数的两种方法
- this指针作为函数隐含参数传递的方法
- javascript iframe内的函数调用实现方法