使用技巧匿名函数:
setInterval( )第一个参数是函数对象的引用地址:
JS中的函数是一种叫做function引用类型的实例, 因此函数是一个对象。函数名则是指向这个对象
的引用地址,作为一个对象,函数是可以赋值传递的。
setInterval( )方法的第一个参数所需要的是函数对象的引用地址。
函数后面不加圆括号()就是获取函数对象的引用地址,(这样不调用执行函数)。比如:
setInterval(time,10),表示把函数time这个对象的引用地址赋值给setInterval方法的第一个参数。
函数后面的圆括号()实际上是调用执行函数的运算符。如果函数名后面加上圆括号就表示立即调用执行这个函数里面的代码。比如:setInterval( time( ), 10 ), 表示立即调用执行time函数,并将函数执行后的return返回值(没有return会返回undefined) 赋值给setInterval方法的第一个参数。
如果想调用带参数函数,怎么办?
第一个参数用匿名函数,匿名函数中在调用带参数的函数,即可达到给指定要执行的函数传参的要求。
比如:
intervalID = setInterval(function(){
getCodeNum($("#GetCode_login"));
},1000);
intervalID = setInterval(function(){
getCodeNum($("#GetCode_re"));
},1000);
function getCodeNum(jQ){
codeNum--;
jQ.html(codeNum+"秒");
if(codeNum == 0){
//取消定时设置
clearInterval(intervalID);
codeNum = 59;
jQ.html("重新获取");
}
}
setInterval( )第一个参数是函数对象的引用地址:
JS中的函数是一种叫做function引用类型的实例, 因此函数是一个对象。函数名则是指向这个对象
的引用地址,作为一个对象,函数是可以赋值传递的。
setInterval( )方法的第一个参数所需要的是函数对象的引用地址。
函数后面不加圆括号()就是获取函数对象的引用地址,(这样不调用执行函数)。比如:
setInterval(time,10),表示把函数time这个对象的引用地址赋值给setInterval方法的第一个参数。
函数后面的圆括号()实际上是调用执行函数的运算符。如果函数名后面加上圆括号就表示立即调用执行这个函数里面的代码。比如:setInterval( time( ), 10 ), 表示立即调用执行time函数,并将函数执行后的return返回值(没有return会返回undefined) 赋值给setInterval方法的第一个参数。
如果想调用带参数函数,怎么办?
第一个参数用匿名函数,匿名函数中在调用带参数的函数,即可达到给指定要执行的函数传参的要求。
比如:
intervalID = setInterval(function(){
getCodeNum($("#GetCode_login"));
},1000);
intervalID = setInterval(function(){
getCodeNum($("#GetCode_re"));
},1000);
function getCodeNum(jQ){
codeNum--;
jQ.html(codeNum+"秒");
if(codeNum == 0){
//取消定时设置
clearInterval(intervalID);
codeNum = 59;
jQ.html("重新获取");
}
}