平常我们的函数里是 参数都是变量,并且直接进行赋值操作,很简单明了。
然而,今天看到函数里的参数是函数就有点不习惯。
先贴代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>函数里面套函数的操作</title>
<script>
function Jmap(){
var arr={};
this.put= function (key,value) {
arr[key]=value;
}
this.eachMap=function (fn) { //定义处把数据传出去
for(var key in arr) //知道数据
fn(key,arr[key]);//调用传进来的参数函数
}
}
var country = new Jmap();
country.put("a","美国"); // 一般情况下,把数据放进去
country.put("b","英国");
country.put("c","日本");
country.put("d","泰国");
country.eachMap(function (key,value) { //执行处利用变量进行欲处理
document.write(key+"->"+value);
});
</script>
</head>
<body>
</body>
</html>
这么想,我要把一个函数放进去,等我有数据的时候,就可以执行我放进去的函数里的执行步骤了,这不是很棒。
这种定义方法跟变量是一样的道理,只是函数更加随意一点,在放函数的时候就可以在不知道数据的情况下利用变量先进行相应的操作,然后在把该参数函数放进去,
我们在定义的时候,传进来的参数是函数,这时候我们有确定的数据,我们不就可以调用传进来的函数了吗。