回调函数
在JavaScript中一个函数可以作为另一个函数的参数,这个作为参数的函数就叫回调函数,以回调函数作为参数的函数叫做主函数
function main (a,b,hui) {//主函数
return a+b+hui();
}
function hui(){//回调函数
return 100;//函数遇到return就不往下执行了,会将值返回调用它的函数
}
alert(main(10,12,hui));
//说明:函数名不加括号是,代表他本身,加括号是代表函数的调用
案例
1、输出a~b之间能被3和5整除的数
function calc(stear,end,check){
for(var i=stear; i<=end; i++){
if(check(i)){
document.write(i + "<br>")
}
}
}
function num(n){
if(n%3==0 && n%5==0 && n>0){
return true;
}else{
return false;
}
}
calc(-220,200,num);
//-220到200之间能被3和5整除的数
2、输入行数、列数、宽度、颜色(偶数行)之后出现的表格
例如
<form action="" method="" name="form1">
<p>表格行数:<input type="text" name="row" id="row" value="" /></p>
<p>表格列数:<input type="text" name="col" id="col" value="" /></p>
<p>表格宽度:<input type="text" name="wit" id="wit" value="" /></p>
<p>表格颜色:<input type="color" name="color" id="color" value="" /></p>
<input type="button" name="" id="" value="立即生成" onclick="show()"/>
</form>
function show(){
var row=document.form1.row.value;
var col=document.form1.col.value;
var wit=document.form1.wit.value;
var color=document.form1.color.value;
function calc(row,col,wit,check){
document.write("<table cellpadding='0' cellspacing='0' border='1' align='center' width=" +wit + ">");
for(var i=1;i<=row;i++){
if(check(i)){
document.write("<tr bgcolor=" + color + ">");
}else{
document.write("<tr bgcolor=" + ">");
}
for(var j=1;j<=col;j++){
document.write("<td align='center' >" + i + "-" + j + "</td>")
}
document.write("</tr>");
}
document.write("/table");
}
calc(row,col,wit,function(n){
if(n%2==0){
return true;
}else{
return false;
}
})
}