setTimeout 细说
setTimeout 细说
今天产品遇到一个问题,甚是奇怪,好好的方法,在FireFox里面不能正常运行,经调试后发现,传入了一个不正常的参数,而且这个不正常的参数要么是-,要么就是一串简短的数字,而且我在 调用此Function的时候确实是没有传入参数的,郁闷过后,开始怀疑是setTimeout自身在FireFox里面的实现与IE不同,所以不能以IE的理解方法去理解:
var t = function(a){alert(a);}
setTimeout(t,0);
这个代码在IE里面运行,所打出来的i是undefined,而你要是放在FireFox里面运行时,i打出来的就是一串数字等,也就是我上述所描述的奇怪现象.
签于此种情况,为了考虑兼容性,建议不要采用上面那种偷懒或者说是精简式的写法去延时调用,可以采用以下方式:
setTimeout(“t();”,0);
setTimeout(function(){t();},0);
方法不少,怎么用就看你喜欢了,各浏览器之间的兼容性问题,真是个头大的让人不得不揪心的问.
本文出自 传播、沟通、分享,转载时请注明出处及相应链接。
本文永久链接: https://www.nickdd.cn/?p=14