javascript setTimeout传递参数

。_饼干妹妹 提交于 2019-12-25 03:45:55

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!