函数作为参数使用
函数作为参数的时候,如果是命名函数,那么只传入命名函数的名字,没有括号
//函数作为参数的时候,如果是命名函数,那么只传入命名函数的名字,没有括号
function f1(f2) {
setInterval(function () {
console.log("定时器开始");
f2();
console.log("定时器结束");
},1000);
}
f1(function () {
console.log("好困啊,好累啊,就是想睡觉");
});
函数作为返回值使用
一个小案例:
按照电影的名称,大小,时间对电影进行从大到小的排序
<script>
//创建电影对象
function File(name,size,time) {
this.name=name;
this.size=size;
this.time=time;
}
//实例化对象
var file01=new File("失恋100天","250M","2018.8.5");
var file02=new File("前任3","200M","2018.5.1");
var file03=new File("分手不说再见","520M","2018.4.28");
var arr=[file01,file02,file03];
function fn(attr) {
return function (obj01,obj02) {
if (obj01[attr]>obj02[attr]){
return 1;
}
if (obj02[attr]==obj01[attr]){
return 0;
}else {
return -1;
}
}
}
var ff=fn("size");//按照电影文件的大小从小到大进行排序
arr.sort(ff);//函数作为参数使用
for (var i = 0; i < arr.length; i++) {
console.log(arr[i].name + "====>" + arr[i].size + "===>" + arr[i].time);
}
</script>