javascript回调函数、递归函数
一、回调函数
通过函数的指针来调用函数(把一个函数的指针作为另一个函数的参数,当调用这个参数的时候,这个函数就叫做回调函数)。
function math(num1,num2) {
return rectangle(num1,num2);
}
document.write(math(8,2));
function rectangle(num1,num2) {
return num1*num2;
}
输出 16
function math(num1,num2,fun) {
return fun(num1,num2);
}
function rectangleS(num1,num2) {
return num1*num2;
}
function rectangleL(num1,num2) {
return (num1+num2)*2;
}
document.write(math(8,2,rectangleS));
document.write(" ");
document.write(math(8,2,rectangleL));
输出 16 20
通过匿名方法调用
function math(num1,num2,fun) {
return fun(num1,num2);
}
document.write(math(4,5,function (num1,num2) {
return num1*num2;
}));
输出 20
定义和调用同时进行(用于一次性回调)
(function math(num1,num2,fun) {
return fun(num1,num2);
})(7,8,function(num1,num2){
document.write((num1+num2)*2-1);
});
输出 29
递归函数
在函数内部之间或间接地调用自己
function dec(num) {
if(num>1){
dec(--num);
}
document.write(num+" ");
}
dec(3);
输出 1 1 2

阶乘
function fac(num) {
if(num==1){
return num;
}else {
return num*fac(--num);
}
}
document.write(fac(3));
输出 6

网友评论