setTimeout传递的第一个参数为:
1.无参的方法:如function test(){},则可直接通过setTimeout(test,1000)调用,还可以setTimeout("test()",1000)调用。
2.如果方法接收参数:
a) 如果都是字符串形式的参数,如:function test(param){} ,可使用字符串拼接传递参数setTimeout("test('" + myParam + "')",1000)。
b) 如果非字符串参数,这时可以通过使用function返回一个无参的函数进行调用,如:
function test(obj)
{
return function()
{
obj.style.color = "red";
}
}
调用: setTimeout(test(this),1000);
如果你的方法test为:
function test(obj)
{
obj.style.color="red";
}
此时是无法通过setTimeout(test(this),1000);调用的,会提示脚本出错。