setTimeout疑惑

Author : lovecicy

其实对于这个函数的用法,一直很模糊。 MDN的文档中,setTimeout方法有两种语法: 1. setTimeout(func,delay,arg1,arg2…) 2. setTimeout(code,delay) 返回值是一个ID,可以在clearTimeout中作为参数,用于取消这个延时函数。 对于第二种语法,其实并不推荐,原因和eval()相同。 因此来说说第一种语法,func参数为要执行的函数名,不能带括号,除非你知道自己在干嘛,也不能用引号包围,否则就变成第二种语法了;delay参数为需要延迟的毫秒数;后面的参数为传递给func的参数,但是在IE9以前的浏览器中不支持这种语法,所以更多的时候只有两个参数。 在来说说在chrome下发现的问题: 我要让下面这段代码延时执行: $(‘#test’).addClass(‘test’); 所以我写了这样一段代码: setTimeout($(‘#test’).addClass(‘test’),1000); 照例说哪个语法都不符合,但是在IE8下,它能正常执行并且不报错。在FF下,它也能执行,但是会报错:SyntaxError: m[Read More]

standard