javascript中函数做为参数的调用
来源:互联网 发布:豆丁免费下载软件 编辑:程序博客网 时间:2024/05/20 01:39
请看示例:
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中函数做为参数的调用
- 子类函数使用父类类型做为参数时,调用该参数的protected变量问题
- 函数指针做为参数的例子
- 把建立的对象做为另外一个函数的参数带入调用
- JavaScript调用cs中带参数的函数
- 数组做为函数参数
- Delphi中TVarRec做为参数的用法
- 函数调用可以做为一个函数的形参
- 一级指针做为函数参数
- 函数调用做为左值
- 在Outlook的VBA工程中慎用OOM做为参数
- float类型做为参数传递过程中出现的问题
- javascript调用带参数函数
- javascript中参数个数可变的函数
- javascript 中函数参数的理解
- JavaScript中函数参数的传递
- javascript中函数调用
- javascript中函数调用
- VS2010中C#调用C函数
- ios键盘收缩
- A/B 向上取整的方法
- Linq的分页
- mininet floodlight 搭建SDN环境
- javascript中函数做为参数的调用
- LeetCode 题解(66): Median of Two Sorted Arrays
- android--zxing返回扫描界面出现黑屏的解决方案
- Buffered读写中文文件乱码
- BZOJ1500 [NOI2005]维修数列
- 有人想将手中一张面值100元的人民币换成5元,1元,0.5元面值的零钱100张,以上三种面值的零钱至少有一张,总共有几种换法。
- .net中的抽象类与接口
- 寒假之作—HDU—卡片叠加问题
- putty工具来远程访问