<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
window.onload = function () {
var Btns = document.getElementsByTagName("button");
for (i = 0; i < Btns.length; i++) {
Btns[i].onclick = function () {
Btns[i].index = i;
//为什么把这个放在里面就是未定义??
alert(this.index);
}
}
}
</script>
</head>
<body>
<button>按钮1</button>
<button>按钮2</button>
<button>按钮3</button>
</body>
</html>
为什么只能 把这Btns[i].index = i;放在 Btns[i].onclick = function () 外面就可以?放在里面就不行?
怎样从逻辑上去解释?