javascript setTimeout传递参数

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);调用的,会提示脚本出错。