第一种,主函数以次函数(不带括号的函数名)作为参数,函数体内在次函数后面加上括号实现次函数的调用。次函数仅仅实现最简单的功能,不向主函数传递变量。
/**这是主函数**/
function parent(func){
func();
}
/**这是次函数**/
function sub(){
alert('我是子函数!');
}
/**调用主函数**/
parent(sub);
第二种,次函数定义了参数,return该参数(或者经过一定处理的参数)作为主函数的参数并调用之。
/**这是主函数**/
function parent(func){
alert(func);
}
/**这是次函数**/
function sub(data){
return data;
}
/**调用主函数**/
parent(sub('Hello World!'));
第三种,主函数仍然以次函数作为参数,函数体内调用带有参数的次函数。次函数以匿名方式定义,并且实现一定的行为。
/**这是主函数**/
function parent(func){
func('Hello World');
}
/**匿名函数作为次函数,此处实现了定义和调用**/
parent(function(data){
alert(data);
})