一 函数作为参数传入另一个函数中
var func = function(a,b,callback){
callback(a,b);
}
var cb = function(a,b){
console.log(a+b);
}
二 函数作为返回值:
1. 首先定义一个函数
var add = function(x){
var sum = 2;
var result = function(x){
sum = sum + x;
return result;
}
result.toString = function(){
return sum;
}
return result;
}
调用 add(100)(2)(3) =7
2 ,(1)add(100)第一次调用初始化了sum变量,使得sum=100,返回了一个内部 函数对象作为返回值,此时返回的内部函数没有被执行,传入的100对内部函数result的参数x没有影响;
(2)add(100)(2)第二次调用触发了作为第一次调用返回值的result函数,第二个数将x变量设置为2;但第二次调用的返回值仍然是result函数;此时的sum变量已被设置为4:sum = 2+2;
(3)add(100)(2)(3)第三次调用触发的还是作为返回值的result函数 sum = 4+3=7;
传入的参数值100对结果没有影响
三 函数返回值是一个对象
var aFunc = function(){
return {
add:function(a,b){
console.log(a+b);
},
minus:function(a,b){
console.log(a-b);
}
};
}
var func = aFunc();
func.add(1,2);
func.add(3,2);