

另一种写法:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<button>按钮1</button>
<button>按钮2</button>
<button>按钮3</button>
<script>
匿名函数自执行
简写1:(函数)();
(function(b){
var btns = document.querySelectorAll("button");
console.log(b);
})(10);
/*
全局污染: 不要使用全局变量,写在fn自执行里,也叫声明一个命名空间
var tab = .....;
var tab = .....; 覆盖之前声明
*/
(function(){ // 声明一个命名空间
var btns = document.querySelectorAll("button");
// for(var i = 0; i < btns.length; i++){
// btns[i].index = i;
// btns[i].onclick = function(){
// console.log(this.index);
// };
// }
function fn(index){
btns[index].onclick = function(){
console.log(index);
};
}
for(var i = 0; i < btns.length; i++){
fn(i);
}
// fn(0);
// fn(1);
// fn(2);
// fn(...100+);
})();
</script>
</body>
</html>