在window.onload中使用setTimeout

window.onload = function(){
		function n(i){
			alert(1);
		}
		setTimeout('n(1)',2000);
	}

  以上代码会报错:n() is not defined。

  原因:

unction n(){}被定义在了window.onload的处理方法里,成了一个内部函数,并没有暴露在window对象下,而setTimeout的运行时环境是在window下的,会找不到这个方法,这个跟冲突没关系。
当你去掉window.onload之后,funciton n(){}就暴露在window下了,就可以找到了。
posted @ 2015-07-23 11:19  MadamMichael  阅读(759)  评论(0编辑  收藏  举报