var $ = function (id) { return document.getElementById('bt' + id); } for (var i = 1; i < 6; i++) { (function (i) { $(i).onclick = function () { alert(i); } })(i); /* 下面这种方法也能行,总之就是要把外层变量给存到本作用域中 (function () { var j=i; $(j).onclick = function () { alert(j); } })(); */ }
<button id='bt1' />bt1</button> <button id='bt2' />bt2</button> <button id='bt3' />bt3</button> <button id='bt4' />bt4</button> <button id='bt5' />bt5</button>