sydomain

思绪来的快,去的也快,偶尔在这里停留。

使用setTimeout调用函数提示未定义

假设有个方法:abc(),需要使用setTimeout,5秒后执行,通常setTimeout的第一个参数是方法名,第二个是毫秒,方法名可以

用引号包起来,跟字符串一样

解决办法

常规的方法没问题,但是到了严格模式或者一些高版本浏览器里,就要去掉引号

不带参数

常规写法:

setTimeout("abc()",5000);

严格写法:

setTimeout(abc,5000);

带参数

如果是有参数的,比如传递一个变量name进去,不止要去掉引号,还要用闭包,把参数带进去

常规写法:

setTimeout("abc(name)",5000);

严格写法

setTimeout(function() {
abc(name)
},5000);


Powered By sydomain

Copyright Your WebSite.Some Rights Reserved.