javascript setTimeout传递参数

时间:2021-12-29 21:28:02

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