以前使用setTimeout()只是简单的
setTimeout("alert('5 seconds!')",5000)
语法
setTimeout(code,millisec)
参数 描述
code 必需。要调用的函数后要执行的 JavaScript 代码串。
millisec 必需。在执行代码前需等待的毫秒数。
最近因业务需求,需要传递额外的参数
源代码是这样的
这个是有问题的无法执行
var sVal = arguments[2] ? arguments[2] : 0;
var rit ='/meeting/list/'+sVal;
setTimeout(redirectList(rit) , 2000 );
function redirectList(url){
$('#pop_box_alert').hide();
window.location.href=url;
}
此时的setTimeout是无法执行的,因为第一个参数需要为执行的jquery串,而不是一个返回值或者带参数的方法
处理后测试可执行
一个新的匿名函数即可
setTimeout(function(){redirectList(rit)} , 2000 );
第二个问题是:
获取jquery参数的问题
var showAlert= function(msg,url,element){}
var sVal = arguments[2] ? arguments[2] : 0;
var sVal = arguments[2] ? arguments[2] : 0;
本文介绍了JavaScript中setTimeout函数的正确使用方法,包括如何正确传递参数及解决执行时的问题。通过示例说明了直接传递函数名与传递匿名函数的区别,并解决了无法执行的问题。

2224

被折叠的 条评论
为什么被折叠?



