您的位置:首页 > Web前端 > JavaScript

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

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: