循环与响应函数的执行顺序
总结:
for循环会在页面加载完成之后立即执行
而响应函数在被点击时才执行
当响应函数执行时,foe循环早已执行完毕
其实是回调函数的回调代码必须等初始化代码全部执行完毕,才从回调队列中按顺序执行。
示例:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>添加删除记录练习</title>
<link rel="stylesheet" type="text/css" href="ex_2_style/css.css" />
<script type="text/javascript">
window.onload = function () {
//获取所有超链接
var allA = document.getElementsByTagName("a");
//为每个超链接都绑定一个单击响应函数
for (var i = 0; i < allA.length; i++) {
/*
* for循环会在页面加载完成之后立即执行,
* 而响应函数会在超链接被点击时才执行
* 当响应函数执行时,for循环早已执行完毕
*/
alert("for循环正在执行" + i);
allA[i].onclick = function () {
alert("响应函数正在执行" + i);
return false;
};
}
};
</script>
</head>
<body>
<a href="">Delete</a>
<a href="">Delete1</a>
<a href="">Delete2</a>
</body>
</html>