javascript关于setTimeout如何调用带参数的函数
2016-08-08 09:07
453 查看
在用到 setTimeout的时候发现,当我需要调用带参数的函数时,会提示错误:Unexpected 对象 ,事实上这个对象正是我想要的,但是不知为何还是提示出错。
为此特意写一个回调函数,这个函数是不带参数的,而返回值则是一个带参数的function,如下写法
//需要调用setTimeout的方法
function countDown(desc_info){
remainingTime=$(desc_info).html();
remainingTime-=1;
$(desc_info).html(remainingTime);
_countDown(desc_info);
setTimeout(_countDown(desc_info),1000);//此处如果改为setTimeout(countDown(desc_info),1000);会报错,提示不能调用自身,如果换成this它会自动将对象转为window所以得另写一个函数(调用带参数的非自身函数,不会报错);
}
function _countDown(desc_info)//用于提供给setTimeout函数做回调,无法直接在setTimeout函数里面直接调用有参数的方法,或者用this因为会使对象转变为window
{
return function()
{
countDown(desc_info);//返回一个带参数的function
}
}
为此特意写一个回调函数,这个函数是不带参数的,而返回值则是一个带参数的function,如下写法
//需要调用setTimeout的方法
function countDown(desc_info){
remainingTime=$(desc_info).html();
remainingTime-=1;
$(desc_info).html(remainingTime);
_countDown(desc_info);
setTimeout(_countDown(desc_info),1000);//此处如果改为setTimeout(countDown(desc_info),1000);会报错,提示不能调用自身,如果换成this它会自动将对象转为window所以得另写一个函数(调用带参数的非自身函数,不会报错);
}
function _countDown(desc_info)//用于提供给setTimeout函数做回调,无法直接在setTimeout函数里面直接调用有参数的方法,或者用this因为会使对象转变为window
{
return function()
{
countDown(desc_info);//返回一个带参数的function
}
}
相关文章推荐
- 关于javascript中变量是如何存储调用、以及函数的继承实现
- 关于函数调用中参数传递的一些思考
- javascript中如何将带参数函数包装成无参数函数
- 关于 函数调用 参数不匹配的简单分析
- javascript写的关于静态页面获取URL传递参数的函数[原创]
- 关于javascript调用webservices的中文参数乱码的问题
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- [Javascript] Javascript如何定义函数参数的默认值
- JavaScript调用cs中带参数的函数
- 如果有多个参数,且参数个数不确定如何调用函数
- 如何在页面每次刷新的时候可以调用一个javascript写的函数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- 关于javascript 函数的调用
- JavaScript:关于document.execCommand()函数可用参数大解析
- javascript写的关于静态页面获取URL传递参数的函数
- 关于C语言中函数调用和参数传递机制的探讨(ZZ)
- 如何在JavaScript与C#函数相互调用
- 在asp.net的方法里如何调用javascript的函数
- 如何使用定时器settimeout、setInterval执行能传递参数的函数
- python嵌入C++------ boost.python如何在C++中调用含有不定长参数tuple变量和关键字参数dict变量的函数