改成这样即可
<script type="text/javascript">  
function buttonInit(){  
    for(var i=1;i<4;i++){  
        var b=document.getElementById("button"+i);  
        b.i = i;
        b.addEventListener("click",function(){alert("Button "+ this.i);},false);  
    }  
}  
window.onload=buttonInit;  
</script>  

解决方案 »

  1.   

    闭包可以这样写,我也是初学,不对请指教 . 
     <script type="text/javascript">
            function buttonInit() {
                for (var i = 1; i < 4; i++) {
                    (function (i) {
                        var b = document.getElementById("button" + i);
                        b.addEventListener("click", function () { alert("Button" + i); }, false);
                    })(i)
                }      
            }
            window.onload = buttonInit;
    </script>